Javascript 无法读取属性';beginTimeSeconds';未定义的

Javascript 无法读取属性';beginTimeSeconds';未定义的,javascript,jquery,json,Javascript,Jquery,Json,在解析嵌套json文件时,我看到下面的错误 Cannot read property 'beginTimeSeconds' of undefined 嵌套Json: {"facets":[{"total":{"results":[{"count":448}],"beginTimeSeconds":0,"endTimeSeconds":0,"inspectedCount":448},"timeSeries":[{"results":[{"count":38}],"beginTimeSeconds

在解析
嵌套json
文件时,我看到下面的错误

Cannot read property 'beginTimeSeconds' of undefined
嵌套Json:

{"facets":[{"total":{"results":[{"count":448}],"beginTimeSeconds":0,"endTimeSeconds":0,"inspectedCount":448},"timeSeries":[{"results":[{"count":38}],"beginTimeSeconds":1491300260,"endTimeSeconds":1491301160,"inspectedCount":38},{"results":[{"count":28}],"beginTimeSeconds":1491301160,"endTimeSeconds":1491302060,"inspectedCount":28},{"results":[{"count":35}],"beginTimeSeconds":1491302060,"endTimeSeconds":1491302960,"inspectedCount":35},{"results":[{"count":34}],"beginTimeSeconds":1491302960,"endTimeSeconds":1491303860,"inspectedCount":34},{"results":[{"count":39}],"beginTimeSeconds":1491303860,"endTimeSeconds":1491304760,"inspectedCount":39},{"results":[{"count":37}],"beginTimeSeconds":1491304760,"endTimeSeconds":1491305660,"inspectedCount":37},{"results":[{"count":36}],"beginTimeSeconds":1491305660,"endTimeSeconds":1491306560,"inspectedCount":36},{"results":[{"count":36}],"beginTimeSeconds":1491306560,"endTimeSeconds":1491307460,"inspectedCount":36},{"results":[{"count":45}],"beginTimeSeconds":1491307460,"endTimeSeconds":1491308360,"inspectedCount":45},{"results":[{"count":38}],"beginTimeSeconds":1491308360,"endTimeSeconds":1491309260,"inspectedCount":38},{"results":[{"count":45}],"beginTimeSeconds":1491309260,"endTimeSeconds":1491310160,"inspectedCount":45},{"results":[{"count":37}],"beginTimeSeconds":1491310160,"endTimeSeconds":1491311060,"inspectedCount":37}],"name":"b20"}]}
var json = {above--nested--json}
$.each(json.facets, function(i, item) {
            var obj = json.facets[i];
            name = json.facets[i].name;
            console.log(json.facets[0]);
            data.addColumn('string', name);
            $.each(json.facets[i], function(j, item) {
                console.log('Time Series : '+json.facets[i]);
                curtime = json.facets[i].timeSeries[j].beginTimeSeconds;
                curcount = json.facets[i].timeSeries[j].inspectedCount;
                curname = name + ' : ' + curcount;
            });

            data.addRows([ [ new Date(curtime * 1000), curname ] ]);
        });
编写了以下代码:

{"facets":[{"total":{"results":[{"count":448}],"beginTimeSeconds":0,"endTimeSeconds":0,"inspectedCount":448},"timeSeries":[{"results":[{"count":38}],"beginTimeSeconds":1491300260,"endTimeSeconds":1491301160,"inspectedCount":38},{"results":[{"count":28}],"beginTimeSeconds":1491301160,"endTimeSeconds":1491302060,"inspectedCount":28},{"results":[{"count":35}],"beginTimeSeconds":1491302060,"endTimeSeconds":1491302960,"inspectedCount":35},{"results":[{"count":34}],"beginTimeSeconds":1491302960,"endTimeSeconds":1491303860,"inspectedCount":34},{"results":[{"count":39}],"beginTimeSeconds":1491303860,"endTimeSeconds":1491304760,"inspectedCount":39},{"results":[{"count":37}],"beginTimeSeconds":1491304760,"endTimeSeconds":1491305660,"inspectedCount":37},{"results":[{"count":36}],"beginTimeSeconds":1491305660,"endTimeSeconds":1491306560,"inspectedCount":36},{"results":[{"count":36}],"beginTimeSeconds":1491306560,"endTimeSeconds":1491307460,"inspectedCount":36},{"results":[{"count":45}],"beginTimeSeconds":1491307460,"endTimeSeconds":1491308360,"inspectedCount":45},{"results":[{"count":38}],"beginTimeSeconds":1491308360,"endTimeSeconds":1491309260,"inspectedCount":38},{"results":[{"count":45}],"beginTimeSeconds":1491309260,"endTimeSeconds":1491310160,"inspectedCount":45},{"results":[{"count":37}],"beginTimeSeconds":1491310160,"endTimeSeconds":1491311060,"inspectedCount":37}],"name":"b20"}]}
var json = {above--nested--json}
$.each(json.facets, function(i, item) {
            var obj = json.facets[i];
            name = json.facets[i].name;
            console.log(json.facets[0]);
            data.addColumn('string', name);
            $.each(json.facets[i], function(j, item) {
                console.log('Time Series : '+json.facets[i]);
                curtime = json.facets[i].timeSeries[j].beginTimeSeconds;
                curcount = json.facets[i].timeSeries[j].inspectedCount;
                curname = name + ' : ' + curcount;
            });

            data.addRows([ [ new Date(curtime * 1000), curname ] ]);
        });
打印时,
console.log(json.facets[0].timeSeries[0].beginTimeSeconds)
正在打印,但是
json.facets[I].timeSeries[j].beginTimeSeconds
根本不起作用

非常感谢您的帮助


提前谢谢

代码中的问题是调用的是
$。每个
在不同的对象上,而不是数组上。因此,您似乎期望像
j
这样的变量保存包含元素索引的整数,而实际上它们保存对象中属性的

要解决此问题,您可以使用对对象的引用来简化代码,这些对象是
$。每个
在处理程序函数参数中为您提供的,如下所示:

$.each(json.facets, function(i, facet) {
  name = facet.name;
  data.addColumn('string', name);

  $.each(facet.timeSeries, function(j, timeSeries) {
    curtime = timeSeries.beginTimeSeconds;
    curcount = timeSeries.inspectedCount;
    var curname = name + ' : ' + curcount;

    // do something with curname here...
  });

  data.addRows([
    [new Date(curtime * 1000), curname]
  ]);
});
var json={
“方面”:[{
“总数”:{
“结果”:[{
“计数”:448
}],
“beginTimeSeconds”:0,
“endTimeSeconds”:0,
“检查计数”:448
},
“时间序列”:[{
“结果”:[{
“计数”:38
}],
“beginTimeSeconds”:1491300260,
“endTimeSeconds”:1491301160,
“检查计数”:38
}, {
“结果”:[{
“计数”:28
}],
“beginTimeSeconds”:1491301160,
“endTimeSeconds”:1491302060,
“检查计数”:28
}, {
“结果”:[{
“计数”:35
}],
“beginTimeSeconds”:1491302060,
“endTimeSeconds”:1491302960,
“检查计数”:35
}, {
“结果”:[{
“计数”:34
}],
“beginTimeSeconds”:1491302960,
“endTimeSeconds”:1491303860,
“检查计数”:34
}, {
“结果”:[{
“计数”:39
}],
“beginTimeSeconds”:1491303860,
“endTimeSeconds”:1491304760,
“检查计数”:39
}, {
“结果”:[{
“计数”:37
}],
“beginTimeSeconds”:1491304760,
“endTimeSeconds”:1491305660,
“检查计数”:37
}, {
“结果”:[{
“计数”:36
}],
“beginTimeSeconds”:1491305660,
“endTimeSeconds”:1491306560,
“检查计数”:36
}, {
“结果”:[{
“计数”:36
}],
“beginTimeSeconds”:1491306560,
“endTimeSeconds”:1491307460,
“检查计数”:36
}, {
“结果”:[{
“计数”:45
}],
“beginTimeSeconds”:1491307460,
“endTimeSeconds”:1491308360,
“检查计数”:45
}, {
“结果”:[{
“计数”:38
}],
“beginTimeSeconds”:1491308360,
“endTimeSeconds”:1491309260,
“检查计数”:38
}, {
“结果”:[{
“计数”:45
}],
“beginTimeSeconds”:1491309260,
“endTimeSeconds”:1491310160,
“检查计数”:45
}, {
“结果”:[{
“计数”:37
}],
“beginTimeSeconds”:1491310160,
“endTimeSeconds”:1491311060,
“检查计数”:37
}],
“名称”:“b20”
}]
}
$.each(json.facets,函数(i,facet){
name=facet.name;
//data.addColumn('string',name);
$.each(facet.timeSeries,函数(j,timeSeries){
curtime=timeSeries.beginTimeSeconds;
curcount=timeSeries.inspectedCount;
curname=name+':'+curcount;
console.log(curname);
});
/*
data.addRows([
[新日期(curtime*1000),curname]
]);
*/
});

这里使用JSON是什么意思?变量
json
是字符串吗?JSON!=我现在有一个问题。这里json是一个包含嵌套json字符串的变量。已将json字符串添加到此问题。