c# - 将属性名称有空格的json对象从c#发布到第三方api

标签 c# json post serialization deserialization

我正在从我的 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 不会影响 JavaScriptSerializerJavaScriptSerializer 没有用于更改属性名称的属性。您可以为其编写自定义 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/

相关文章:

java - jackson 未能将字符串反序列化为 Joda-Time

php - 调用 PHP Web 服务时,来自 iOS 的 $_POST 数据丢失

perl - 使用 Perl 和 Net::OAuth2 将 POST 事件传输到 Google 日历

c# - 如何处理同时返回字符串和字符串数组的json?

c# - Postgresql 上的 CaSTLe Activerecord 错误是 “relation does not exist”?

php - 如何在不转义斜杠的情况下进行 json_encode?

json - postgres : how to convert hstore to JSON datatypes

http - 在真实设备上调用 api 时,Ionic 4 Http 失败响应(未知 url): 0 Unknown Error.

c# - 带有 IronPDF 的表格布局 C#

c# - 用双引号替换引号