Powershell转换为JSON返回“;嵌套的;对象
我正在尝试向我的服务器发出POST请求。在我决定将对象转换为JSON之前,一切都很好。这是我的密码:Powershell转换为JSON返回“;嵌套的;对象,json,node.js,powershell,Json,Node.js,Powershell,我正在尝试向我的服务器发出POST请求。在我决定将对象转换为JSON之前,一切都很好。这是我的密码: $postParams = @{ Login = "JonSnow66"; Password = "LetItSnow"; Email = "Jon.Snow@wall.com"; Name = "Jon Snow"; Desc = "I know nothing"; BirthDate = "1572 2 16"; Img = Get-Content -Path
$postParams = @{
Login = "JonSnow66";
Password = "LetItSnow";
Email = "Jon.Snow@wall.com";
Name = "Jon Snow";
Desc = "I know nothing";
BirthDate = "1572 2 16";
Img = Get-Content -Path ./PH_img.txt | Out-String;
Type = "Admin";
}
Invoke-WebRequest -Uri http://localhost:3000/api/add/user -Method POST -Body (ConvertTo-Json $postParams -Compress)
而不是返回常规JSON对象,如:
{
"Login": "JonSnow66"
...
}
它返回:
{{
"Login": "JonSnow66",
"BirthDate": "1572 2 16",
"Desc": "I know nothing",
"Name": "Jon Snow",
"Type": "Admin",
"Password": "LetItSnow",
"Img": "/9j/4<BASE64>/Z\r\n",
"Email": "Jon.Snow@wall.com"
}: ""}
{{
“登录”:“Jonsow66”,
“生日”:“1572 2 16”,
“描述”:“我什么都不知道”,
“姓名”:“乔恩·斯诺”,
“类型”:“管理员”,
“密码”:“LetItSnow”,
“Img”:“/9j/4/Z\r\n”,
“电子邮件”:“乔恩。Snow@wall.com"
}: ""}
我只是一个powershell初学者 我认为您需要将
Invoke WebRequest
上的ContentType指定为“application/json”。如果您没有指定内容类型并且正在执行Post,那么我认为cmdlet假定您在默认情况下提交表单,这可能解释了您在结果中看到的额外的{}
字符
以下是修改后的代码:
Invoke-WebRequest -Uri 'http://localhost:3000/api/add/user' -Method POST -ContentType 'application/json' -Body (ConvertTo-Json $postParams -Compress)
我正是在编写Python脚本的过程中,谢谢。