为什么我不能在c#中发送json字符串到服务器
本文关键字:json 字符串 服务器 不能 为什么 | 更新日期: 2023-09-27 18:17:43
我想发送json字符串到服务器,首先我写这个json:
string json = "{'"registration_ids'":['"" + regId + "'"]}";
服务器get up json成功,但当我把它改成这样:
string json = "{'"registration_ids'":['"" + regId + "'"] , '"data'":['"" + ns + "'"]}";
现在不发送json,我得到这个错误:
The remote server returned an error: (400) Bad Request.
发生了什么?怎么解呢?
string ns = "ali";
string regId = "APA91bGUgyf8rIVBIdRyc9JUZDWfBTBkflRB2xKe5u9zfd6xP8PYR0yWHXoA7_ev51bAuGHYLjzYuC-TwbzmfO35synRkjf5UoRTTMMYmKgi7qRgb6HPbIv9JFf_xLNd1IKKwriPUl3vCdGYtPMJj42GJir-";
因为您可能创建了无效的JSON。不要像那样"手写"JSON。相反,可以使用库来完成这些工作,比如Json。. NET示例:
public class X
{
[JsonProperty("registration_ids")]
public List<string> RegistrationIds { get; set; }
[JsonProperty("data")]
public List<string> Data { get; set; }
}
并像这样使用:
static void Main(string[] args)
{
var x = new X
{
RegistrationIds = new List<string> { "1", "2" },
Data = new List<string> { "hello" }
};
Console.WriteLine(JsonConvert.SerializeObject(x));
}
将收益率:
{"registration_ids":["1","2"],"data":["hello"]}