2012-12-14 6 views
4

Json 텍스트를 구문 분석하기 위해 Newtonsoft.Json을 사용하고 있습니다. 이유는 JToken 또는 Jvalue 객체의 이름이 필요합니다. 예를 들면 "ChoiceId": 865이 JValue 인 경우 "ChoiceId"이 필요합니다. 그러나 나는 지금 몇 시간 동안 그것을 시험하고있다. 그러나 방법을 이해할 수 없었다. 그 이름을 어떻게 알 수 있습니까?JValue 객체의 이름을 얻는 방법

감사

예 : 이 JSON 파일 내용 인 경우

{"ChoiceId":868,"Choice":"Post","Url":"/pst/goods"} 

은 그 때 나는

JObject json = JObject.Parse(hole); 
JValue jvalue = (Jvalue)json["ChoiceId"]; 
string value = jvalue.Value; 

를 사용하여 ChoiceId 값을 얻을 수있다 그러나 어떤 속성을 얻기 위해이 없다 이름 즉 "ChoiceId". 그래서 제 질문은 그것을 어떻게 얻을 수 있습니까?

+1

질문에 코드를 추가 할 수 있습니까? – user7116

답변

6

나는 코드를 전혀 보지 못했기 때문에 나는 spitballing을하고 있는데 아마도 JToken.Parent and JProperty을 찾고 있을까요?

// Assumes token is JToken, search for the owning JProperty 
var parentProperty = token.Ancestors<JProperty>() 
          .FirstOrDefault(); 

// alternatively, if you know it'll be a property: 
var parentProperty = ((JProperty)token.Parent); 

var name = parentProperty.Name;