我试图访问json中的成员,但是我遇到了一些麻烦。以下是存储在var obj:
中的一个json对象的示例var fs = require('fs');
var obj = [
{
"_id": "52d7f816f96d7f6f31fbb680",
"regNum": "0361300035313000002",
"sd": "2013-01-01T00:00:00",
"pd": "2013-01-25T09:30:29Z",
"prd": "2012-12-18",
"p": 1395000000,
"pt": [
{
"name": name here",
"price": 1395000000,
"OKDP": {
"code": "5520109",
"name": "name here"
},
"sid": "25484812",
"sum": "1395000000",
"OKEI": {
"code": "796",
"name": "name two"
},
"quantity": "1"
}
],
"b": 0,
"c": 0,
"s": 0
}
];
我尝试通过执行以下操作来访问 sid 和 sum 值:
var sid = [];
var sum = [];
obj.forEach(block => {
var sidOut = block.pt.sid;
var sumOut = block.pt.sum;
sid.push(sidOut);
sum.push(sumOut);
});
console.log(sid);
console.log(sum);
我尝试了解决方案here,然而,当我运行这些时,它会给我[未定义]错误。
为什么我无法访问这两个值?
答案 0 :(得分:0)
如果你看到你的pt是一个对象[{}]的数组,那么你需要选择你想要访问的元素
var sidOut = block.pt[0].sid;
var sumOut = block.pt[0].sum;
应该能得到正确的结果