gpt4 book ai didi

c# - Newtonsoft JSON for .net 忽略 jsonproperty 标签

转载 作者:太空狗 更新时间:2023-10-29 23:59:51 26 4
gpt4 key购买 nike

由于某些真正令人恼火的原因,JsonProperty 标签无法与 Newtonsoft 的 Json for .net 工具一起使用。在我的课上,我有这些:

    [JsonProperty(PropertyName = "id")]
public string ID { get; set; }
[JsonProperty(PropertyName = "title")]
public string Title { get; set; }
[JsonProperty(PropertyName = "url")]
public string Url { get; set; }
[JsonProperty(PropertyName = "class")]
public string EventClass { get; set; }
[JsonProperty(PropertyName = "start")]
public string Start { get; set; }
[JsonProperty(PropertyName = "end")]
public string End { get; set; }

但是我收到了这个

{"success":true,
"result": [{
"ID":"0",
"Title":"Eid ul-Fitr",
"Url":"<blah>",
"EventClass":"event-info",
"Start":"1406520000000",
"End":"1406606400000"},
etc.

如您所见,它忽略了我设置的属性名称。我也尝试过使用 [System.Runtime.Serialization.DataMember(Name="id")] 但没有用。

这才是真正让我感到困惑的原因。昨天成功了。我将它回滚到昨晚我提交时的位置,但它仍然无法正常工作。

有什么想法吗?

最佳答案

您确定您实际上是在使用 Json.Net 进行序列化吗? Json(MyClass) 是一种 ASP.NET MVC 方法。 MVC 使用 JavaScriptSerializer 类,它不支持 [JsonProperty] 属性。要使用这些属性,您需要使用 Json.Net 方法 JsonConvert.SerializeObject(MyClass) 进行序列化。如果您想从 MVC Controller 中返回该 JSON,则需要调用 Content(jsonString, "application/json") 而不是 Json()

关于c# - Newtonsoft JSON for .net 忽略 jsonproperty 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24897579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com