2016-05-09 7 views
-1

されていない場合:JSONでJavascriptを:配列オブジェクトを持っているか、私は以下のようないくつかのJSONデータを持って空の

{ 
    "errorCode": null, 
    "message": "Success", 
    "result": { 

    }, 
    "totalRecord": 0, 
    "checkAccess": true, 
    "token": "fb8904acf4dbf0406ac3fd16acd9b84807d2a0e2913aecc3f39e90ca4b53161af6058ca5ee46b9877b75292e5ca9b8df969a325fa3b40c0e4acde546a431f55f6c07de8a854b9e0bf6aeba314d239267" 
} 

あなたは"result"は空ですが、私は、if文で、それをどのように識別することができます見つけることができますか? !== "undedined"!==nullを使用しようとしましたが、このステートメントは引き続き実行されます。これは有用であろうJSON配列

希望内部オブジェクトさ

if(trend1_data[0].result !== 'undefined'){ 
    var resultone = trend1_data[0].result; 
    var chartVal1 = resultone.mention30d.chartValues; 
    for(var i=0; i < chartVal1.length; i++){ 
     vol1.push(chartVal1[i].value);//a for loop to generate value array 
     Xvol1.push(chartVal1[i].date);// for xaris values e.g:date 
    } 
} 
+0

'Object.keys(..)としてそれを使用することができ、今真/偽のいずれかになります。多分length'? –

+0

宣言する前に 'resultone'が存在するかどうかチェックしています。あなたが持っている2番目のコードブロックの1行と2行を切り替えます。 – Cerbrus

+0

私はそれを修正して上記の提案を試みました – anson920520

答えて

2

resultと違っ確認する必要があります

var a = [{ 
"errorCode": null, 
    "message": "Success", 
    "result": { 

    }, 
    "totalRecord": 0, 
    "checkAccess": true, 
    "token": "someValue" 
} 
] 

alert(Object.keys(a[0].result).length) 

jsfiddle

+0

JSONファイルを変更できないので、そこにvar objを配置できません – anson920520

+0

私は(trend2_data [0] .result).lengthを試しましたが、結果は未定義です – anson920520

+0

Object.keys(trend2_data [0] .result).length; – anson920520

0

objは(すでにその結果を知っていれば第2のステップはオプションであるのみ可能。これは、以下の順序でobj.resultチェックします。この

resultone = obj.result && (Array.isArray(obj.result) && obj.result.length) || Object.keys(obj.result).length; 

を試してみてください

var obj = { 
    "errorCode": null, 
    "message": "Success", 
    "result": { 

    }, 
    "totalRecord": 0, 
    "checkAccess": true, 
    "token": "fb8904acf4dbf0406ac3fd16acd9b84807d2a0e2913aecc3f39e90ca4b53161af6058ca5ee46b9877b75292e5ca9b8df969a325fa3b40c0e4acde546a431f55f6c07de8a854b9e0bf6aeba314d239267" 
} 

ある場合オブジェクトではない配列)

1)obj.resultがある場合

2)そうであれば、それが配列であるかどうか、それが配列であるかどうかを確認します。

3)配列でない場合、キーはありません。

resultoneは今、あなたは

if (resultone) 
{ 
} 
+0

私はそこにvar objを置くことができないので、私はJSONファイルを変更できません。 – anson920520

+0

@ anson920520はうまくいきました、私はちょうど例としてここに示しました。 – gurvinder372

関連する問題