2015-06-15 45 views
1

我有一個json數據作爲輸入字符串。現在我需要用輸入的Json數據更新現有的Json數據。就我而言,我想通過每個密鑰並與現有的Json數據匹配,然後使用輸入Json數據更新該密鑰的如何在不知道密鑰值的情況下讀取Json數據

代碼以檢索現有數據

var existingJSon = ProductRepository.ListOfProd.Cast<JArray>().Where(x => x["ProdId"].ToString() == id.ToString()); 

檢索數據我existingJson看起來像下面經過。

{ 
    ProdId:"1", 
    Title:"C#", 
    Author:"Jeffy", 
    Publisher:"XYZ", 
    Category:"Microsoft" 
    } 

現在我需要遍歷每個作爲輸入的鍵並匹配到現有的Json鍵並更新該鍵的值。

輸入和更新它應該是這樣的後:

{ 
ProdId:"1", 
Title:"C#", 
Author:"Jeffy", 
Publisher:"abcd", 
Category:"Microsfot Basic .Net Development Kit" 
} 
+0

你想使用jQuery來做到這一點? –

+0

不可以使用C#。這不可能嗎? –

+0

[合併](http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JContainer_Merge_1.htm)新的JToken到舊的。 – dbc

回答

2

看看這可以幫助你,我們可以用Newtonsoft反序列化未知類型和循環鍵和值。

string json = "{ProdId:\"1\",Title:\"C#\",Author:\"Jeffy\",Publisher:\"XYZ\",Category:\"Microsoft\"}"; 
     JObject obj = JsonConvert.DeserializeObject < JObject>(json); 
     var properties = obj.Properties(); 
     foreach (var prop in properties) 
     { 
      string key = prop.Name; 
      object value = prop.Value; 
     } 
相關問題