2016-05-20 8 views
0

json配列がnullまたはemtyであることを確認する方法は?c#NewtonJson Jarray check null/emptyエラー

JSON:

{ 
      "productList": [ 
      { 
       "id": 2440, 
       "serviceStatus": 1, 
       "listOfBillProductsExtras": [ 
       { 
        "id": 2441, 
        "amount": 1, 
        "balance": 2, 
       } 
             ], 
       "deskName": "Desk 1", 
       "onlyTime": "15:25" 
      }, 
      { 
       "id": 2441, 
       "serviceStatus": 1, 
       "listOfBillProductsExtras": [ ], 
       "deskName": "Desk2", 
       "onlyTime": "15:27" 
      } 
    ] 
    } 

私は

JArray productList = JArray.Parse(content["productList"].ToString()); 

を試してみたが、それは動作しませんでした。 (exp。Null Referanceがあったので)listOfBillProductsExtras配列がnullか空であることを確認したい。空でない場合は、ID、金額、残高を取得します。

答えて

1

はjArrayにJSONオブジェクトを解析:

public ActionResult Method(object[] data) 
    { 
     var productList = Json.ParseJsonObjectToJArray(data, "productList"); 

     if(jArray.Count > 0) 
     { 

     } 
    } 

    public class Json 
    { 
     public static JArray ParseJsonObjectToJArray(object[] data, string objectName) 
     { 
      dynamic jObject = JObject.Parse(data[0].ToString()); 
      var info = jObject[objectName]; 

      return info; 
     } 
    } 
0

これはJSONがあなたの入力文字列である

var found = JObject.Parse(json).SelectToken("productList[0].listOfBillProductsExtras[0].id"); 

を動作するはずです。 が見つかりました。変数がNULL値であるかどうかを確認できます。