Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 寻求如何处理此嵌套JSON/对象的建议_Javascript_Json_Nested Object - Fatal编程技术网

Javascript 寻求如何处理此嵌套JSON/对象的建议

Javascript 寻求如何处理此嵌套JSON/对象的建议,javascript,json,nested-object,Javascript,Json,Nested Object,我有一个嵌套的JSON,并希望最终得到结果数组,这怎么可能呢?关于如何做到这一点,有什么建议吗?我是否需要为in/of循环使用嵌套器?高阶函数等?我是新的嵌套对象,任何提示或良好的参考将被告知 //调用db.save()后,const db将显示所需的结果。我想要它 包括日期、符号(美元等)和它的价值——所有这些都包装在它们自己的对象中 const db = [ { Date: '1999-01-05', AUD: 1.8944, SEK: 9.4025, USD: 1.179 }, { Dat

我有一个嵌套的JSON,并希望最终得到结果数组,这怎么可能呢?关于如何做到这一点,有什么建议吗?我是否需要为in/of循环使用嵌套器?高阶函数等?我是新的嵌套对象,任何提示或良好的参考将被告知

//调用db.save()后,const db将显示所需的结果。我想要它 包括日期、符号(美元等)和它的价值——所有这些都包装在它们自己的对象中

const db = [
{ Date: '1999-01-05', AUD: 1.8944, SEK: 9.4025, USD: 1.179 },
{ Date: '1999-01-06', AUD: 1.882, SEK: 9.305, USD: 1.1743 },
])

//获取时接收到的json

const json = {
rates: {
    '1999-01-08': {
        AUD: 1.8406,
        SEK: 9.165,
        USD: 1.1659,
    },
    '1999-01-06': {
        AUD: 1.882,
        SEK: 9.305,
        USD: 1.1743,
    },
    '1999-01-07': {
        AUD: 1.8474,
        SEK: 9.18,
        USD: 1.1632,
    },
    '1999-01-05': {
        AUD: 1.8944,
        SEK: 9.4025,
        USD: 1.179,
    },
},
start_at: '1999-01-05',
base: 'EUR',
end_at: '1999-01-10',

})

这里有一个解决方案,使用嵌套的
进行
循环,并从对象中获取一个键/值对。它会创建一个对象数组,就像您想要的结果一样。(不是按照确切的顺序,因为Javascript不关心对象的排序)

用法;在您发布的示例中,可能是:

db = save(json)

这里有一个解决方案,它使用嵌套的
进行
循环,并从对象中获取键/值对。它会创建一个对象数组,就像您想要的结果一样。(不是按照确切的顺序,因为Javascript不关心对象的排序)

用法;在您发布的示例中,可能是:

db = save(json)

谢谢你的回答,我没有让它发挥作用,因为我可能把事情搞砸了,或者解释得很糟糕,抱歉。但看到您使用嵌套for循环帮助我了解了这种方法,它导致从特定日期开始的每种货币和汇率都位于一个对象中,并且只有键值

        const db = [];
    for (const prop in json.rates) {
      Object.keys(json.rates[prop]).forEach((element) => {
        const obj = {
          date: prop,
          symbol: element,
          rate: json.rates[prop][element],
          base: json.base,
        };
        db.push(obj);
      });
    }
    console.log(db);
在这里输入代码

enter code here

谢谢你的回答,我没有让它发挥作用,因为我可能把事情搞砸了,或者解释得很糟糕,抱歉。但看到您使用嵌套for循环帮助我了解了这种方法,它导致从特定日期开始的每种货币和汇率都位于一个对象中,并且只有键值

        const db = [];
    for (const prop in json.rates) {
      Object.keys(json.rates[prop]).forEach((element) => {
        const obj = {
          date: prop,
          symbol: element,
          rate: json.rates[prop][element],
          base: json.base,
        };
        db.push(obj);
      });
    }
    console.log(db);
在这里输入代码

enter code here

为什么这是你预期的结果?将对象带到
db
数组的逻辑是什么?为什么这是您预期的结果?将对象带到
db
数组的逻辑是什么?