-1
我有一个从API调用返回了以下JSON:转换JObject到custome实体 - C#
{
"Success": true,
"Message": null,
"Nodes": [
{
"Title": "Title 1",
"Link": "http://www.google.com",
"Description": null,
"PubDate": "2014-06-19T13:32:00-07:00"
},
{
"Title": "Title 2",
"Link": "http://www.bing.com",
"Description": null,
"PubDate": "2014-06-26T13:14:00-07:00"
},
]
}
我有以下对象到JSON转换为自定义对象
[JsonObject(MemberSerialization.OptIn)]
public class MyApiResponse
{
[JsonProperty(PropertyName = "Success")]
public bool Success { get; set; }
[JsonProperty(PropertyName = "Message")]
public string Message { get; set; }
[JsonProperty(PropertyName = "Nodes")]
public IEnumerable<object> Nodes { get; set; }
}
我能够执行以下代码行以反序列化到MyApiResponse
对象。
MyApiResponse response = JsonConvert.DeserializeObject<MyApiResponse>(json);
我想通过MyApiResponse
对象可以序列化他们到另一个物体的Nodes
财产循环。当我尝试下面的代码片段,它抛出一个错误:
foreach(var item in response.Nodes)
{
MyObject obj = JsonConvert.DeserializeObject<MyObject>(item.ToString());
}
什么我需要做的item
转换成我MyObject
在foreach
循环?
所以你的问题是,为什么它抛出的错误?如果是,请提供错误消息。或者你的问题是:我需要做什么来将项目转换成foreach循环中的MyObject?如果这样,因为你将它声明为MyApiResponse类中的节点,所以如果你想改变为别的东西,肯定需要将其转换为 – 2014-08-28 01:12:27
@ah_hau - 当我尝试循环遍历时,它看起来像是抛出HTTP 500错误'Nodes'属性将它们转换为'MyObject'数据类型 – 2014-08-28 01:42:05
可以发布更多代码吗? HTTP 500内部服务器错误是通用服务器错误,如果您已经收到您的回复,为什么它仍然调用Web功能?你的JsonConvert调用了在线托管的第三方转换器吗? – 2014-08-28 01:47:08