gpt4 book ai didi

javascript - 在javascript中从json中提取值

转载 作者:行者123 更新时间:2023-11-30 07:50:02 25 4
gpt4 key购买 nike

我如何迭代 json 并从以下 json 字符串中提取每个任务的值(即“AMS 升级”和“BMS 工作”是任务),我尝试使用下面的代码,但没有成功。

注意 AMS Upgrade 和 BMS works 是变量所以代码不应该引用它们

在每个循环中,我希望能够控制台记录以下内容

第一个循环

任务描述:AMS升级

总计:30667.303111791967

% 完成到结束:1.0

声称的值(value):25799.788761888347

第二个循环

任务描述:BMS工作

总计:35722.8761704046

% 完成到结束:0.1

声称的值(value):3572.2876170404597

var data = `{"line_items": {"AMS Upgrade": [{"Total": 30667.303111791967}, {"% Complete to end": 1.0}, {"value claimed": 25799.788761888347}], "BMS works": [{"Total": 35722.8761704046}, {"% Complete to end": 0.1}, {"value claimed": 3572.2876170404597}]}}`


var obj = JSON.parse(data);
console.log("processing data...");
console.log(obj);
console.log(obj.line_items[1].Total);

最佳答案

这是使用 for..in 的方法。

const data = {"line_items": 
{"AMS Upgrade": [
{"Total": 30667.303111791967},
{"%Complete to end": 1.0},
{"value claimed": 25799.788761888347}],
"BMSworks": [
{"Total": 35722.8761704046},
{"%Complete to end": 0.1},
{"value claimed": 3572.2876170404597}]
}
}
let totals = [];
for(let key in data.line_items){
totals.push(data.line_items[key][0].Total);
}
console.log(totals)
//Combining all other like Total
for(let key in data.line_items){
console.log("Task Description:" + key);
data.line_items[key].forEach(value => {
let k = console.log(`${Object.keys(value)}:${Object.values(value)[0]}`)
})
}

关于javascript - 在javascript中从json中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54643352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com