8

次のJavaScriptを使用しています。値のない結果が得られるまで、正常に書き込みます。コンソールログにこれが表示されます

Uncaught TypeError:nullのプロパティ'text'を読み取れません

しかし、以下の私のスクリプトは機能していないようです

            var checkCaption = photo.caption.text;
            if (checkCaption == null) {
                caption = 'meh';
            } else {
                caption = photo.caption.text;
            }
4

3 に答える 3

17

あなたの例では、はnullであるため、チェックが行われる前に、photo.captionコードは呼び出しで中断します。photo.caption.text

var caption;

if(photo.caption != null) { // Covers 'undefined' as well
  caption = photo.caption.text;
} else {
  caption = "meh";
}
于 2012-10-07T16:06:31.393 に答える
5

私の場合、JSON.stringifyを使用して、RESTサーバーから{}(null)応答を受信したことを確認します。

 if (JSON.stringify(response.data)=='{}') {
      //the response is null
 }
 else {
      //the response of JSON is not null
 }

応答がnullかどうかを確認するのは問題ありません。

于 2015-09-05T01:31:58.513 に答える
1

私にとって、jsonオブジェクトの長さのチェックは問題を解決しました-

   if Object.keys(jsonobj).length == 0){
     // JSON object is null
    }
   else {
     // JSON object has data 
    }
于 2020-01-16T13:32:36.510 に答える