2016-10-13 204 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(_json ["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

答えにその詳細を追加するだけです.LTはNewtonsoftライブラリを使用することについてOPが言及していないため、ライブラリの単なるリンクまたは名前です。ここの人々はそれについて不平を言う。 :) –

関連する問題