[英]How to get second level Json value
我正在尝试在响应中遍历第二级json值。
这是Json的示例:
{
"Links": {},
"Items": [
{
"WebId": "A0EUfSms148rEStZ8_fh",
"Name": "AA to Slurry ",
"Path": "klj",
"Links": {
"Source": ""
},
"Items": [
{
"Timestamp": "2016-08-21T05:14:27.0180053Z",
"Value": 0.0154830571,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:30Z",
"Value": 0.0155982981,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:30Z",
"Value": 0.0155982981,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:33.024002Z",
"Value": 0.0155704552,
"UnitsAbbreviation": "%",
"Items": [
{
"WebId": "A0EUfSms148rEStZ8_fh",
"Name": “Slurry ",
"Path": "klj",
"Links": {
"Source": ""
},
"Items": [
{
"Timestamp": "2016-08-21T05:14:27.0180053Z",
"Value": 0.0154830571,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:30Z",
"Value": 0.0155982981,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:30Z",
"Value": 0.0155982981,
"UnitsAbbreviation": "%",
"Good": true,
"Questionable": false,
"Substituted": false
},
{
"Timestamp": "2016-08-21T05:14:33.024002Z",
"Value": 0.0155704552,
"UnitsAbbreviation": "%",
到目前为止,这是我仅返回名称的代码:
var feat = resp.Items,
tableData = [];
// Iterate over the JSON object
for (var i = 0, len = feat.length; i < len; i++) {
tableData.push({
"name": feat[i].Name,
"Timestamp": feat[i].Timestamp,
"value": feat[i].Items.Value,
});
}
因此,在此示例中,此示例表数据理想情况下将如下所示:
name | Timestamp | value
AA to Slurry
AA to Slurry
AA to Slurry
AA to Slurry
AA to Slurry
AA to Slurry
Slurry
Slurry
Slurry
Slurry
Slurry
Slurry
具有来自第二级“项目”的相应时间戳和值。 现在我得到的只是名称值,如何获得名称然后遍历第二级项目?
我认为您的问题是您的sub Items数组被直接访问。 ( feat[i].Items.Value
)相反,您也应该遍历第二个数组。 我将这段代码放在一起开始使用,它遍历您拥有的json中的项目,然后遍历第一个数组的每个项目中的项目。
json.Items.forEach(function(item){
item.Items.forEach(function(subItem){
tableData.push({
'name':item.Name,
'timestamp':item.TimeStamp,
'value':subItem.Value
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.