c#NewtonJson Jarray检查空/空错误

c#NewtonJson Jarray检查空/空错误,c#,json,null,deserialization,isnullorempty,C#,Json,Null,Deserialization,Isnullorempty,如何检查json数组是否为null或emty Json: { "productList": [ { "id": 2440, "serviceStatus": 1, "listOfBillProductsExtras": [ { "id": 2441, "amo

如何检查json数组是否为null或emty

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"
            }
     ]
  }
我试着


但它不起作用。(有exp.Null引用)所以,我想检查一下BillProductsExtras数组的列表是否为Null或为空。如果不为空,我将获得id、金额和余额

将Json对象解析为jArray:

  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;
        }
   }
这应该行得通

var found = JObject.Parse(json).SelectToken("productList[0].listOfBillProductsExtras[0].id");
其中json是您的输入字符串。 可以检查找到的变量是否为空值

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