将数据动态附加到现有JSON

时间:2018-06-17 03:28:44

标签: javascript json

给定以下JSON结构,

#JSON 1
     {
            "objects": 
             [
                {
                    "type": "chocolate",
                    "id": "c1"
                },
                {
                    "type": "sweet",
                    "id": "s1"
                }
            ]
      }

如何使用Javascript动态追加数据?像这样:

#JSON 2
         [
           {
            "data": {      
                    "type": "chocolate",
                    "id": "c1"
                }
            },
            {
            "data": {
                    "type": "sweet",
                    "id": "s1"
                }
            }
        ]

我已经使用fetch API来读取文件,因为它是一个巨大的JSON文件。 我不想硬编码类型和ID。什么是更好的方法呢?

1 个答案:

答案 0 :(得分:1)

显然你是从fetch获得这个结果,但是为了展示你需要做什么我正在内联初始化

let result = { 
    "type": "test",
    "id": "123",
    "objects": 
    [
        {
            "type": "chocolate",
            "id": "c1"
        },
        {
            "type": "sweet",
            "id": "s1"
        }
    ]
};
let finalResult = result.objects.map(data => ({data}));
console.log(finalResult);

你提到使用fetch - 它就像

fetch(url)
.then(result => result.json())
.then(result => result.objects.map(data => ({data})))
.then(finalResult => {
    // here the result is in the format you want
    console.log(finalResult);
});