我正在从我的 asp.net mvc 项目调用第三方 api。该 api 需要具有带空格的属性名称的 json 对象。但是在 c# 中我们不能创建带有空格的属性名。我被困住了,我该怎么做?
我试过使用 JsonProperty,但它不起作用。我试图替换序列化字符串中的字符串,然后将该字符串发送到 api,但这给了我完全错误。
{
"Single":14000,
"Double":14500,
"Triple":15000,
"ExtraBed":15500,
"ExtraChild":16000,
"ExtraAdult":16000
}
但不是 ExtraBed,我必须传递为“Extra Bed”。
最佳答案
JsonPropertyAttribute
不会影响 JavaScriptSerializer
。 JavaScriptSerializer
没有用于更改属性名称的属性。您可以为其编写自定义 JavaScriptConverter
,但我建议只使用 Newtonsoft
。
class AxisRoom
{
[JsonProperty("Extra Bed")]
public decimal ExtraBed { get; set; }
}
AxisRoom _AxisRoom = new AxisRoom { ExtraBed = 3 };
var result = JsonConvert.SerializeObject(_AxisRoom);
result
等于 {"Extra Bed":3.0}
关于c# - 将属性名称有空格的json对象从c#发布到第三方api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771667/