.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