2016-12-12 6 views
2

Jsonの文字列にノードをもう1つ追加する必要があります。Web APIから受け取ったJSONをカスタマイズする

以下は、私がデータを読んでいるコードです。

var url = "https://xyz_12232_abc/0908978978979.json"; 
var sys = new WebClient(); 
var content = sys.DownloadString(url); 

私は、コードの上から次の出力を受け取っ:

{ 
"2312312312313": 
       { 
       "emailId":"[email protected]", 
       "model":"XYZ001", 
       "phone":"+654784512547", 
       "userName":"User1" 
       }, 
"23456464512313": 
       { 
       "emailId":"[email protected]", 
       "model":"XYZ002", 
       "phone":"+98745114474", 
       "userName":"User2" 
       }, 
"45114512312313": 
       { 
       "emailId":"[email protected]", 
       "model":"XYZ3", 
       "phone":"+214784558741", 
       "userName":"User3" 
       } 
} 

しかし、私は以下のように、この出力をしたい:今すぐ

{ 
"Records": [ 
       { 
       "UID":"2312312312313":, 
       "emailId":"[email protected]", 
       "model":"XYZ001", 
       "phone":"+654784512547", 
       "userName":"User1" 
       }, 

       { 
       "UID":"23456464512313":, 
       "emailId":"[email protected]", 
       "model":"XYZ002", 
       "phone":"+98745114474", 
       "userName":"User2" 
       }, 

       { 
       "UID":"45114512312313":, 
       "emailId":"[email protected]", 
       "model":"XYZ3", 
       "phone":"+214784558741", 
       "userName":"User3" 
       } 
      ] 
} 

、どのようにそれを達成することができますか?

+1

あなたはJson.NETを使用していますか? – haim770

+0

返されるjsonファイルの形式は、ファイルを生成するコードによって異なります。オブジェクトがどのように保存されているかを調べてそれに応じて変更する必要があります – Ahmad

答えて

3

あなたの所望の出力にデータをマッサージするJson.NETを使用することができます。

var jsonStr = @"..."; // your JSON here 
var obj = JsonConvert.DeserializeObject<Dictionary<string, JObject>>(jsonStr); 

var formattedObj = new 
{ 
    Records = obj.Select(x => 
    { 
     x.Value.AddFirst(new JProperty("UID", x.Key)); 
     return x.Value; 
    }) 
}; 

// serialize back to JSON 
var formattedJson = JsonConvert.SerializeObject(formattedObj); 
+0

Thanx a lot ...私の問題を解決しました。 –

関連する問題