4

我们如何检查一个 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 Reference) 所以,我想检查 listOfBillProductsExtras 数组是空还是空。如果不为空,我将获得 ID、金额、余额。

4

2 回答 2

5

将 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;
        }
   }
于 2016-05-20T11:54:54.647 回答
1

这应该工作

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

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

于 2016-05-20T13:41:13.497 回答