向JSON对象添加数据

Adding Data to JSON Object

本文关键字:数据 添加 对象 JSON      更新时间:2023-09-26

我很难完成一些看起来很简单的事情。我试图构建一个JSON对象来存储一些数据。它开始是空的,我解析一个文件,向其中添加某些元素。下面是我希望JSON对象的样子:

{"Items:":[
    {"Group1":[
        {"ItemType":"Type", "ItemName":"Name"},
        {"ItemType":"Type", "ItemName":"Name"},
        {"ItemType":"Type", "ItemName":"Name"}
    ]},
    {"Group2":[
        {"ItemType":"Type", "ItemName":"Name"},
        {"ItemType":"Type", "ItemName":"Name"},
        {"ItemType":"Type", "ItemName":"Name"}
    ]}
]}

或者我考虑过这样做:

var itemsList = {
    "items":[
        {"groupName": "Group1", "Items": [list of items]},
        {"groupName": "Group2", "Items": [list of items]}
    ]
};

组的名称不是group1, group2,等等。

这是我如何尝试添加数据到它。

itemsList.items.push(groupName); //Where groupName is a string
itemsList.items.groupName= "Name";

甚至:

itemsList.items[groupName] = listOfItems;

出乎意料地比我预期的要好。但是,无论我采用哪种方式,当我尝试使用JSON对象时,它都无法工作。当我输出到控制台时,它显示为:

{ items:
   ['Group1': ['item1','item2','item3'],
    'Group2' : ['item1', 'item2', 'item3']]}

这看起来是正确的,但当我对对象执行JSON.parse()时,我得到:

{"Items":[]}

我相信这是因为单引号要么需要双引号,要么根本不需要,但我不知道如何改变这一点。

任何输入都是赞赏的!

Just do:

itemsList.items.push(group);

,

var group = {"GroupN": [
    {"ItemType":"Type", "ItemName":"Name"},
    {"ItemType":"Type", "ItemName":"Name"},
    {"ItemType":"Type", "ItemName":"Name"}
]};