【发布时间】:2016-06-14 17:34:15
【问题描述】:
只有当媒体数组不为空时,我才想读取 JSON 中的行。
但是下面的代码不起作用。虽然我已经定义了
- (data.rows[j].media.length >=1) 或
- (data.rows[j].media != undefined)
它仍然会读取 EMPTY 媒体的数组。 .
// JSON data
{
author: "Mary",
media: [ ],
},
{
author: "Nelson",
media: [
{
type: "Image",
link: "https://...jpeg"
}
]
}
// Jquery to get the data from JSON
$.ajax('https://rest.xyz.com/', {
type: 'GET',
dataType: 'json',
success: function( data ) {
var m = 0;
for(j in data.rows){
if ( data.rows[j].media.length >=1 ) {
if (data.rows[j].media[0].type == 'Video'){ }
else { }
}
}
}
【问题讨论】:
-
如果我没有出错,在引用 json 对象时长度确实有效。试试
data.rows[j].media[0] !=null而不是data.rows[j].media.length >=1。 -
我按照您的建议尝试了上述两种方法,但它有 TypeError: undefined is not an object (evalating 'data.rows[j].media[0].type')
标签: jquery arrays json ajax get