【发布时间】:2017-06-21 14:05:14
【问题描述】:
我有以下 JSON:
{
"graph": {
"edges": [{
"fromNode": "1",
"toNode": "2",
"distance": 200
}],
"nodes": [{
"id": "1",
"lat": 10.402875,
"lng": 53.611151
}]
}
}
对于反序列化,我有这个类:
public class Graph {
public Node [] nodes { get; set; }
public Edge [] edges { get; set; }
}
public class Node {
public string id { get; set; }
public double lat { get; set; }
public double lng { get; set; }
}
public class Edge {
public string fromNode { get; set; }
public string toNode { get; set; }
public int distance { get; set; }
}
当我想反序列化 JSON 时,我调用这个函数:
JsonConvert.DeserializeObject<Graph> (content);
现在我想通过这样的反序列化获取边缘类中引用的节点对象:
public class Edge {
public Node fromNode { get; set; }
public Node toNode { get; set; }
public int distance { get; set; }
}
你有没有反序列化后没有 foreach 循环的例子?
【问题讨论】:
-
可以先修改JSon解析节点吗?
-
这不可能通过简单的反序列化来实现。使用反序列化获取图形对象后,您需要编写逻辑以通过 id 获取 fromNode 和 toNode 对象
-
有可选的逻辑通过id获取对象的例子吗?
-
按节点 id 搜索节点集合,您就有了 id 的节点 - 听起来很简单
标签: c# json xamarin json.net deserialization