我想在API中使用POST请求将空值传递给键。
例如,我想传递下面的JSON数据。也就是说,Exp 和 TeamID 为空。
{
"ID":162617,
"TextKey":"107737",
"Exp":null,
"TeamID":null
}
结果在Postman中被接受,但是当我尝试使用下面的C#代码传递相同的结果时,我的JSON内容变得无效。
long idvalue = 162617;
string textkeyvalue = "107737";
string expvalue = null;
long? teamIDvalue = null;
string postData = "{\"ID\":" + idvalue + ",\"TextKey\":\"" + textkeyvalue + "\",\"Exp\":\"" + expvalue + "\",\"TeamID\":\"" + teamIDvalue + "\"}";
这给了我下面的输出。
{
"ID":162617,
"TextKey":"107737",
"Exp":"",
"TeamID":
}
而我的请求由于无效的JSON主体而失败。那么,我如何传递这种null数据或null关键字?
注意:所有的键值对在我的API中都是强制性的,所以如果它们是空的,我不能省略它们。
我只想以下面的格式传递数据。
{
"ID":162617,
"TextKey":"107737",
"Exp":null,
"TeamID":null
}
2条答案
按热度按时间b5lpy0ml1#
要回答您的问题,要为空值编写文本,您可以这样做:
或添加引号:
你也可以创建静态的helper方法来简化:
所以在你的例子中,它变成了:
更好的解决方案!
为数据模型创建一个类,并使用一个库(例如System.Text.Json)来序列化它,如下所示:
ssm49v7z2#
gepa的答案是正确的,但你也可以序列化一个匿名对象: