c#NewtonJson Jarray检查null /空错误

时间:2016-05-20 11:04:45

标签: c# json null deserialization isnullorempty

我们如何检查json数组是null还是emty?

杰森:

    {
          "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,金额,余额。

2 个答案:

答案 0 :(得分:3)

将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;
        }
   }

答案 1 :(得分:0)

这应该有效

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

其中 json 是您的输入字符串。 可以检查找到变量的空值。