Javascript 如何访问嵌套的JSON对象
我想通过迭代访问嵌套的JSON对象值 我尝试了console.logtest[0]。发票[0]。成本。否[0];但它不起作用 var测试=[{ 发票:{ 编号:869, $$hashKey:对象:186 }, 费用:[{ 编号:183, 新界北:100 }, { 编号:184, 新界北:200 }] }, { 发票:{ 编号:698,, $$hashKey:对象:189 }, 费用:[{ 编号:110,, 新界北:150 }, { 编号:142,, 新界北:263 }] }]; console.logtest[0]。发票[0]。成本。编号[0] 这是您的JSON:Javascript 如何访问嵌套的JSON对象,javascript,json,Javascript,Json,我想通过迭代访问嵌套的JSON对象值 我尝试了console.logtest[0]。发票[0]。成本。否[0];但它不起作用 var测试=[{ 发票:{ 编号:869, $$hashKey:对象:186 }, 费用:[{ 编号:183, 新界北:100 }, { 编号:184, 新界北:200 }] }, { 发票:{ 编号:698,, $$hashKey:对象:189 }, 费用:[{ 编号:110,, 新界北:150 }, { 编号:142,, 新界北:263 }] }]; console
var test = [{
"Invoice": {
"NO": "869"
},
"Cost": [{
"NO": 183,
"Amnt": 100
}, {
"NO": 184,
"Amnt": 200
}]
}, {
"Invoice": {
"NO": "698"
},
"Cost": [{
"NO": 110,
"Amnt": 150
}, {
"NO": 142,
"Amnt": 263
}]
}];
console.logtest[0]。成本[0]。否;
就183岁了
如果您不习惯JSON,可以在开发中使用console.logtest检查您的结构
要进行迭代,应使用如下所述的循环:
简短示例:
var myFunction = function(item,index){
console.log(item.Cost[0].No);
}
test.forEach(myFunction)
您的代码控制台。日志测试[0]。发票[0]。成本。编号[0];不行
因为发票和成本是同一级别的对象,所以成本不嵌套在发票中
检查下面的示例,了解如何访问它们
你需要理解和理解
var测试=[{
发票:{
编号:869,
$$hashKey:对象:186
},
费用:[{
编号:183,
新界北:100
}, {
编号:184,
新界北:200
}]
}, {
发票:{
编号:698,,
$$hashKey:对象:189
},
费用:[{
编号:110,,
新界北:150
}, {
编号:142,,
新界北:263
}]
}];
//获取成本
console.logtest[0]。成本[0]。否;
//访问发票
console.logtest[0]。Invoice.NO test是一个数组,因此需要对其进行迭代
每次迭代都会给您一个具有两个属性的对象:发票和成本
发票也是一个对象,因此您只需要访问所需的属性
Cost是一个数组,因此您需要迭代作为对象的每个项
var测试=[{
发票:{
编号:869,
$$hashKey:对象:186
},
费用:[{
编号:183,
新界北:100
}, {
编号:184,
新界北:200
}]
}, {
发票:{
编号:698,,
$$hashKey:对象:189
},
费用:[{
编号:110,,
新界北:150
}, {
编号:142,,
新界北:263
}]
}];
test.forEacht=>{
console.logInvoice N°:+t.Invoice.NO;
t、 Cost.forEachc=>{
console.log-成本N°:+c.NO+-金额:+c.Amnt;
};
}; 你写错了陈述 测试[0]。发票[0]。成本。编号[0] 它应该如下所示
test[0].Cost[0].NO
因为发票和成本是同一个json对象的属性
试试这个
var测试=[{发票:{NO:869,$$hashKey:object:186},成本:[{NO:183,Amnt:100},{NO:184,Amnt:200}},{发票:{NO:698,$$hashKey:object:189},成本:[{NO:110,Amnt:150},{NO:142,Amnt:263}];
console.logtest[0]。成本[0];
console.logtest[0]。成本[0]。否;
我试过这个。console.logtest[0]。发票[0]。成本。编号[0];把这个加到你的问题上我看不到!
var test = [{ "Invoice": { "NO": "869", "$$hashKey": "object:186" }, "Cost": [{ "NO": 183, "Amnt": 100 }, { "NO": 184, "Amnt": 200 }] }, { "Invoice": { "NO": "698", "$$hashKey": "object:189" }, "Cost": [{ "NO": 110, "Amnt": 150 }, { "NO": 142, "Amnt": 263 }] }];
for (var t in test)
{
var obj = test[t];
console.log(obj.Invoice.NO);
console.log(obj.Invoice.$$hashKey);
for ( var cst in obj.Cost)
{
console.log("Cost Value: " + obj.Cost[cst].NO + " " + obj.Cost[cst].Amnt);
}
}