C# .NET 4.5 |實體框架5從結構化數據構建JSON層次結構
我有數據以ID,ParentID,Name的形式從SQL查詢返回。我想將這些數據解析爲Hierarchical JSON字符串。到目前爲止,這似乎是一個比應該更艱鉅的任務。由於我使用的是實體,所以數據可以很好地作爲IEnumerable返回給我。現在我相信我只需要某種形式的遞歸,但我不確定從哪裏開始。任何幫助表示讚賞。
數據返回爲
id parentId name 1 1 TopLoc 2 1 Loc1 3 1 Loc2 4 2 Loc1A
代碼爲
public static string GetJsonLocationHierarchy(long locationID)
{
using (EntitiesSettings context = new EntitiesSettings())
{
// IEnumerable of ID,ParentID,Name
context.GetLocationHierarchy(locationID);
}
}
最終的結果我希望會是這樣:
{
"id": "1",
"parentId": "1",
"name": "TopLoc",
"children": [
{
"id": "2",
"parentId": "1",
"name": "Loc1",
"children": [
{
"id": "4",
"parentId": "2",
"name": "Loc1A",
"children": [
{}
]
}
]
},
{
"id": "3",
"parentId": "1",
"name": "Loc2",
"children": [
{}
]
}
]
}
什麼是反序列化它的最好方法? – Rod
@Rod反序列化你只需要做'Location loc = JsonConvert.DeserializeObject(json);' –
非常感謝:) – Rod