2017-04-12 1 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에서 Key를 어떻게 변경합니까?

+0

아래 링크는 자바 스크립트 레벨에서 도움이 될 것입니다. 조금 변경하면 C#에서도 적용됩니다. http://stackoverflow.com/questions/13391579/how-to-rename-json-key eg. code var json = [{ "_id": "5078c3a803ff4197dc81fbfb", "이메일": "[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를 수행됩니다.