2016-04-15 11 views
-2

はコードです:JavaScriptで未定義のJSONデータを処理するにはどうすればよいですか?ここ

if (data.result.parameters.q === undefined) { 
    colsole.log('undefined') 
} 
//I also tried 
if (data.result.parameters.q === null) { 
    // colsole.log('undefined') 
// } 

はnullとundefined使用してみましたが、どれも機能しません。

+1

コンソールでエラーが発生しましたか?チェーン内の以前のオブジェクトの1つがnullの場合、エラーがスローされます。そうでなければ、 'console.log(data.result.parameters.q)'と吐き出されたものをテストすることができます。 – IrkenInvader

+1

'console.log(data.result.parameters.q)'は本当に定義されていませんか? –

+0

'colsole'とは何ですか? –

答えて

1

a === undefinedは、を確認する必要はありません。var undefined = {}と設定できるためです。

使用voidtypeofオペレータのどちらか(厳密な等価===は必要ありません):

if(data.result.parameters.q == void(0) || typeof data.result.parameters.q == 'undefined') 
    console.log('data.result.parameters.q is undefined'); 

どのようにあなたのデータは、実際に見えますか? data,data.resultdata.result.parametersが設定されていますか? hasOwnPropertyまたは一般truthinessのように、チェックするたくさんの方法があります。

if(data.hasOwnProperty('result') && data.result && data.result.hasOwnProperty('parameters')) 
    // now we can check if there is q in data.result.parameters 

はまた、あなたのコード内でスペルエラーがあります注意してください。それは console、ない colsoleです。

+0

最新のブラウザでは、 "未定義"は読み取り専用であることに注意してください。 – Roberto

関連する問題