2016-10-13 5 views
3

json을 파싱하여 하위 값에 액세스하려고합니다. 다음은 샘플 JSON이며, 아래 json.net에서 하위 값에 액세스하는 방법

jsondata = { 
    "sample_data": "{"o2:{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}}" 
} 

내가 사용하여 아이 "O2"를 얻을하려고하면이 코드는 이제 나에게 출력

{"o2":{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}} 

를 제공 내 코드

var _json = JObject.Parse(jsondata.ToString()); 
Console.WriteLine(_json["sample_data"]); 

입니다

Console.WriteLine ("sample_data"] [ "o2"]);

은 내가

cannot access child value on newtonsoft.json.linq.jvalue 

자식 값을 얻는 방법에 제발 도와주세요 오류 메시지가 아래 얻고있다. 나는 출력을 원한다.

{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"} 

나는 이것을 어떻게 할 수 있는가? 도와주세요.

+0

VAR의 _json = JObject.Parse (jsondata.ToString()); Console.WriteLine (_json [sample_data]); – kabilan

+0

'Console.WriteLine (_json [sample_data] [ "o2"]);'? – Mostafiz

+0

이 도움이됩니다 : http://stackoverflow.com/questions/13839865/how-to-parse-my-json-string-in-c4-0using-newtonsoft-json-package – ZivS

답변

5

은 문자열입니다.

이 시도

var _json = JObject.Parse(jsondata.ToString()); 
var sampledataJson = JObject.Parse(_json["sample_data"].ToString()); 
Console.WriteLine(sampledataJson["o2"]); 
+0

이것은 훌륭합니다. @Adnan Umer에게 감사합니다. – kabilan

1

동적으로 설정할 수 있습니다. sample_data의 againt 저장된 샘플 jsondata 값으로

dynamic a = JsonConvert.DeserializeObject(yourJson); 
Console.WriteLine(a.sample_data.o2.ToString()); 
+0

은 Newtonsoft json의이 부분입니까? –

+0

@Reddy JsonConvert는 Newtonsoft json의 일부로, 동적 인 C# 언어의 일부입니다. – mybirthname

+0

OP에 Newtonsoft 라이브러리 사용에 관해서 언급하지 않았기 때문에 단지 그 대답을 답안에 추가하십시오 .. 링크 또는 라이브러리의 이름. 여기 사람들이 그것에 대해 불평하기 시작합니다. :) –

관련 문제