.net的Newtonsoft JSON忽略了jsonproperty标签

由于某些令人烦恼的原因,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控制器中返回该JSON,则需要调用Content(jsonString,

"application/json")而不是Json()

以上是 .net的Newtonsoft JSON忽略了jsonproperty标签 的全部内容, 来源链接: utcz.com/qa/411187.html

回到顶部