2015-10-14 110 views
-3

對象我已經JSON序列寫有JSON.NET,看起來像這樣:如何變換對象的JSON數組包含數組

{ 
    "data": [ 
     { 
      "A": "1", 
      "B": "4" 
     }, 
     { 
      "A": "2", 
      "B": "5" 
     }, 
     { 
      "A": "3", 
      "B": "6" 
     } 
    ] 
} 

任何想法,我怎麼可以從多個按鍵改變爲有一個關鍵的多個值像這樣

{ 
    "data": { 
     "A": [ 
      "1", 
      "2", 
      "3" 
     ], 
     "B": [ 
      "4", 
      "5", 
      "6" 
     ] 
    } 
} 

在此先感謝。

+0

*歡迎使用計算器*!本網站有助於解決**代碼**的問題。當您的結果與預期結果不同或發生錯誤時,您可以在此處發佈代碼。你也應該描述你有什麼結果,什麼是預期和/或提供錯誤細節。之後社區將幫助你解決問題,並且(有時)它會給你一些指導。這就是* stackoverflow *的工作原理。正如你所看到的,你的問題沒有全部適當的信息。請**編輯**您的問題,並添加其他所需信息的代碼,如果你想得到一些幫助。 –

回答

1

可以使用Json.Net的LINQ-to-JSON API相當做到這一點很容易:

JObject obj = JObject.Parse(json); 

obj["data"] = new JObject(obj["data"] 
    .Children<JObject>() 
    .SelectMany(jo => jo.Properties()) 
    .GroupBy(jp => jp.Name) 
    .Select(g => new JProperty(g.Key, new JArray(g.Values())))); 

Console.WriteLine(obj.ToString()); 

小提琴:https://dotnetfiddle.net/dXCdlO

相關問題