2016-08-05 185 views
0

我想創建嵌套的JSON。我從sql表中獲取數據。在表 數據格式:將數據解析爲嵌套的JSON

+---------------------+---------+ 
| Domain   | Action | 
+---------------------+---------+ 
| Keyword    | New | 
| Keyword    | Edit | 
| Keyword    | Delete | 
| Keyword.Case  | New | 
| Keyword.Case  | Edit | 
| Keyword.Case  | Delete | 
| Keyword.Case.Action | New | 
| Keyword.Case.Action | Edit | 
| Keyword.Case.Action | Delete | 
| User    | New | 
| User    | Edit | 
| User    | Delete | 
+---------------------+---------+ 

我已檢索使用LINQ查詢從SQL表中的數據。而現在我想解析它來獲得下面提到的分層結構。 我認爲數據應該是以下格式:(。)

[ 
{ 
    "Domain": "Keyword", 
    "Actions": ["New", "Edit", "Delete"], 
    "Nodes": [ 
      { 
       "Domain": "Keyword.Case", 
       "Actions": ["New", "Edit", "Delete"], 
       "Nodes": [ 
         { 
          "Domain": "Keyword.Case.Action", 
          "Actions": ["New", "Edit", "Delete"], 
          "Nodes": [] 
          } 
         ] 
       } 
      ], 
{ 
    "Domain": "User", 
    "Actions": ["New", "Edit", "Delete"], 
    "Nodes": [] 
} 
] 

點意味着它是子節點。 例如keyword.case.action;在這個例子中,Keyword是Case的父項,Case是Action的父項,意思是action是case和case的子項是關鍵字的子項。我想這樣的事情:

  • 關鍵字
    • 編輯
    • 刪除
    • Keyword.Case
      • 編輯
      • 刪除
      • Keyword.Case.Action
      • 編輯
      • 刪除
  • 用戶
    • 編輯
    • 刪除

任何人都可以幫忙嗎?在此先感謝

+0

PLS後檢索結果,提供數據,例如,您是從數據庫得到。 – 1ven

+0

頂部的表格是從數據庫中獲取的實際數據。 @ 1ven –

+0

你有廣泛的編程標籤(Angular,C#,SQL),所以你不清楚你想在哪裏和你想要達到什麼。告訴我們你已經得到了什麼,否則我們只能猜測。 –

回答

0

當您使用LinQ檢索SQL數據時,您應該有一個IEnumerable結果。您可以直接序列化:

var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
string jsonOutput = serializer.Serialize(dbResult); 

哪裏dbResult是你的LINQ的操作

+0

是的。我做到了。它是1級json。我想解析嵌套級別@OleAlbers –