2016-06-01 7 views
0

オブジェクトを返すAPI呼び出しがありますが、値の一部がnullを返すかどうかを確認したいと思います。JSON APIをループする

APIレスポンスの構造は次のようになります。

{ 
    "expirationDate": "August 31, 2016", 
    "remainingDays": 127, 
    "pid": "null", 
    "seats": [{ 
     "activeStatus": "Y", 
     "pid": "TE80", 
     "firstName": "Lenovo X230 Beta SN", 
     "guid": "0CA6A94E378F464E9A5EC09102779CFC" 
    }] 
} 

事前にありがとうございます。

+0

ストリングまたはそれが解析され(=オブジェクト)の結果は?どのオブジェクトからオブジェクトですか?どのプロパティをチェックするのですか? –

+0

私はちょうどいくつかのオブジェクトがnullを返すかどうかをチェックするためにオブジェクトのそれぞれにループしたい、そしてそれがヌルなら私はすでに持っているモーダルを表示します。 –

+0

'' pid ''から 'pid'が必要ですか?:" null "、'?つまり、値が '' null ''のプロパティキーが必要ですか? – vaso123

答えて

2

オブジェクトキーを反復処理して値を確認するだけです。

これは、forループを関数に入れて、オブジェクトが表示された場合に、再帰を使用することができます。

var json = { 
    "expirationDate": "August 31, 2016", 
    "remainingDays": 127, 
    "pid": "null", 
    "seats": [{ 
      "activeStatus": "Y", 
      "pid": "TE80", 
      "firstName": "Lenovo X230 Beta SN", 
      "guid": "0CA6A94E378F464E9A5EC09102779CFC" 
     }] 
}; 

for (prop in json) { 
    if (typeof json[prop] === 'object') { 
     //do a recursion here 
    } else { 
     if (json[prop] === 'null') { 
      //do what you want with null 
      console.log("It is null"); 
     } 
    } 
} 
1

あなたはすべてのプロパティを反復処理し、値が配列の場合、その配列のすべての要素を越えて一つの特性値がnull'null'であるかどうかを確認できます。

function hasNull(o) { 
 
    return Object.keys(o).some(function (k) { 
 
     return Array.isArray(o[k]) && o[k].some(hasNull) || o[k] === null || o[k] === 'null'; 
 
    }); 
 
} 
 

 
var data = { "expirationDate": "August 31, 2016", "remainingDays": 127, "pid": "null", "seats": [{ "activeStatus": "Y", "pid": "TE80", "firstName": "Lenovo X230 Beta SN", "guid": "0CA6A94E378F464E9A5EC09102779CFC" }] }, 
 
    hasNullValue = hasNull(data); 
 

 
console.log(hasNullValue);

+0

ありがとう、ニーナ、これは私の大きな助けです。 –

関連する問題