C# NewtonJson Jarray проверка нулевой / пустой ошибки

Как мы можем проверить, является ли массив json пустым или пустым?

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 или пустой. Если не пусто, я получу идентификатор, сумму, баланс.

2 ответа

Разобрать объект 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 - ваша входная строка. найденная переменная может быть проверена на нулевое значение.

Другие вопросы по тегам