我有一些JSON数据,如下所示:
{
"errorCode": null,
"message": "Success",
"result": {
},
"totalRecord": 0,
"checkAccess": true,
"token": "fb8904acf4dbf0406ac3fd16acd9b84807d2a0e2913aecc3f39e90ca4b53161af6058ca5ee46b9877b75292e5ca9b8df969a325fa3b40c0e4acde546a431f55f6c07de8a854b9e0bf6aeba314d239267"
}
在JSON中,您可以发现"result"
为空,但如何通过if语句识别它?我尝试使用!== "undedined"
和!==null
,但法规仍然执行。
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 :(得分:2)
result
是json数组中的一个对象
希望这会有用
var a = [{
"errorCode": null,
"message": "Success",
"result": {
},
"totalRecord": 0,
"checkAccess": true,
"token": "someValue"
}
]
alert(Object.keys(a[0].result).length)
答案 1 :(得分:0)
如果obj
是
var obj = {
"errorCode": null,
"message": "Success",
"result": {
},
"totalRecord": 0,
"checkAccess": true,
"token": "fb8904acf4dbf0406ac3fd16acd9b84807d2a0e2913aecc3f39e90ca4b53161af6058ca5ee46b9877b75292e5ca9b8df969a325fa3b40c0e4acde546a431f55f6c07de8a854b9e0bf6aeba314d239267"
}
试试这个
resultone = obj.result && ( Array.isArray( obj.result ) && obj.result.length ) || Object.keys(obj.result).length;
这将按以下顺序检查obj.result(如果您已经知道结果只能是对象而不是数组,则第二步是可选的)
1)如果obj.result
存在
2)如果是,那么它是否是一个数组,如果它是一个数组,那么它是否有项目
3)如果它不是数组,那么它是否有任何键。
resultone现在将为true / false,现在您可以将其用作
if ( resultone )
{
}
答案 2 :(得分:-1)
您的resultone
未定义,或者您应使用resultone < array.length
检查How do I check if a JavaScript array value is empty or null?