C#Newtonsoftを取得JsonのJObject多層ノード内容

3242 ワード

json形如
{

  "object":{

  "name":"cwr"

  },

  "others":"123"

}

 
nameの値を取得するには、次のように2つのJObjectを構築して取得する必要があります.
JObject json = JObject.Parse(jsonresult);

string name = ((JObject)json["object"])["name"].ToString();

 
json形如
{

  "object":{

  "name": [

       {

         "firstname" : "cwr",

         "lastname" : "cwr"

        }

      ]

  },

  "others":"123"

}

firstnameの取得値は次のとおりです.
JObject json = JObject.Parse(jsonresult);

string firstname = ((JObject)((JObject)json["object"])["name"][0])[firstname].ToString();

 
昨日、デバッガは「オブジェクトをインスタンスに参照していない」と報告し、エラーコードはfpmccontent.Text = json["words_result"]["InvoiceType"].ToString() ?? "";
私はずっとjson[words_result][InvoiceType].ToString()はnullですが、実はjson[「words_result」][InvoiceType]はnullで、ToString()メソッドを呼び出すときに間違えて報告してしまい、自分には無言です.
転載先:https://www.cnblogs.com/cwr-toki/p/10092089.html