2017-04-12 66 views
1

在.json文件中更改列名的最簡單方法是對其進行字符串化並簡單地使用replace。但是這可能會影響價值。在JObject中重命名密鑰

我也可以解析它成jsonobject並逐行替換關鍵行,但這似乎不是很有效。

var json = client.DownloadString(item.uri); 
dynamic holdJson= JsonConvert.DeserializeObject(json); 

foreach(var item in holdJson) { 
    item.setKey("replacement"); ? 
} 

我在這裏錯過了什麼嗎?在json文件中替換或重命名列標題的最佳方式是什麼?

編輯:更清楚地問我的問題:如何更改JObject中的密鑰?

+0

我希望下面的鏈接將幫助您在JavaScript級別相同適用於C#中幾乎沒有變化,請檢查此鏈接http://stackoverflow.com/questions/13391579/how-to-rename-json-key例如。代碼var json = [{「_id」:「5078c3a803ff4197dc81fbfb」,「email」:「[email protected]」,「image」:「some_image_url」,「name」:「Name 1」},{「_ id」:「 5078c3a803ff4197dc81fbfc「,」email「:」[email protected]「,」image「:」some_image_url「,」name「:」Name 2「}]; json = JSON.parse(JSON.stringify(json).split('「_ id」:')。join('「id」:')); document.write(JSON.stringify(json)); –

回答

0

雖然它可能不是正確的答案有可能解決這個問題是這樣的:

var jsonFile = JsonConvert.DeserializeObject(json); 

foreach (JObject row in jsonFile) 
{ 
    row.Add("newKeyName", "value"); 
    row.Property("oldKey").Remove(); 
} 

只需添加和刪除排,jobject得到更新也是如此你jsonfile。