Javascript 带有嵌套响应的json解析isse
我正在尝试解析json响应Javascript 带有嵌套响应的json解析isse,javascript,json,Javascript,Json,我正在尝试解析json响应 [{ "province": "abc", "county": "aa", "timeline": { "cases": { "4/11/20": 4, "4/12/20": 5 }, "recover": { "4/11/20": 0, "4/12/20": 1 } } }] 虽然我可以得到“county”值,但我无法进入timline数据。它要么给我未定义的问题,要么
[{
"province": "abc",
"county": "aa",
"timeline": {
"cases": {
"4/11/20": 4,
"4/12/20": 5
},
"recover": {
"4/11/20": 0,
"4/12/20": 1
}
}
}]
虽然我可以得到“county”值,但我无法进入timline数据。它要么给我未定义的问题,要么给[obejct Object]作为日志。下面是我的代码
parseTimeLineData(resData)
{
let timeLine = [];
resData.map(data =>
{
let dd = data.timeline;
Object.keys(dd).map((key, i) => {
var one = {key}
alert(one);
var value = dd[key]
})
});
}
我的要求是解析案例和恢复节点,并将它们保存在单独的数组中以供进一步使用。还需要知道如何仅从大数组中获取第一个索引值。使用JSON.stringify
[{
“省”:“abc”,
“县”:“aa”,
“时间线”:{
“案例”:{
"4/11/20": 4,
"4/12/20": 5
},
“恢复”:{
"4/11/20": 0,
"4/12/20": 1
}
}
}].map(data=>Object.keys(data.timeline).map(item=>alert(JSON.stringify(data.timeline[item]))
由于您没有提供具体的示例,所以我仍然不太确定您希望如何使用这些数组。因此,我盲目地猜测,在您的数据中会有其他对象
,并且您希望以某种方式累积案例
和恢复
值,然后在将来使用这些值。下面是reduce
的一个示例:
const数据=[
{
省:“abc”,
县:“aa”,
时间线:{
案例:{
"4/11/20": 4,
"4/12/20": 5,
},
恢复:{
"4/11/20": 0,
"4/12/20": 1,
},
},
},
{
省:“xyz”,
县:“bb”,
时间线:{
案例:{
"4/13/20": 40,
"4/14/20": 50,
},
恢复:{
"4/13/20": 10,
"4/14/20": 5,
},
},
},
];
函数parseTimeLineData(resData){
返回resData.reduce((acc,data)=>{
const newCases=Object.entries(
data.timeline.cases
).map(([key,value])=>({[key]:value}));
const newRecovers=Object.entries(
data.timeline.recover
).map(([key,value])=>({[key]:value}));
acc.cases=!acc.cases?newCases:[…acc.cases,…newCases];
acc.recover=!acc.recover?newRecovers:[…acc.recover,…newRecovers];
返回acc;
}, {});
}
const reducedValues=parseTimeLineData(数据);
console.log(reducedValues)
“或将[obejct Object]作为log”,因为函数中的值是一个对象?那么我如何解析最内部的val并从中获取键和值。所需数据的形状是什么?你将如何使用它?请提供这一信息。你可以更新你的问题。@devserkan我想下面我得到了答案。我是新手,所以不熟悉它的很多功能。比如JSON。stringify这与React无关,JSON。stringify
属于JS。如果我没有弄错提供的答案,您会得到一个数组,我认为这不是期望的输出。它现在给我值。谢谢。。我是新来的。所以我对JSON不太了解。stringify()解决了这个问题。很抱歉,我知道srtringify只是为了看到结果。我们可以使用它获取VAL。