Javascript 如何在数组中创建JSON数组

Javascript 如何在数组中创建JSON数组,javascript,database,json,local-storage,Javascript,Database,Json,Local Storage,有史以来第一次在这里发帖 我正在尝试复制这种JSON对象,以便使用stringify将其存储在localStorage中: 我希望无论何时捕捉到一个事件,都能在历史中创建一个新的noteState,但不一定知道如何去做 var history = { "noteState1": [ {created: new Date(), modified: new Date(), left: "100", top: "200",

有史以来第一次在这里发帖

我正在尝试复制这种JSON对象,以便使用stringify将其存储在localStorage中:

我希望无论何时捕捉到一个事件,都能在历史中创建一个新的noteState,但不一定知道如何去做

var history = {
    "noteState1": [
        {created: new Date(),
        modified: new Date(),
        left: "100",
        top: "200",
        text: "hello"},

        {created: new Date(),
        modified: new Date(),
        left: "150",
        top: "250",
        text: "new"},

        {created: new Date(),
        modified: new Date(),
        left: "200",
        top: "300",
        text: "world"}
    ], 
    "noteState2": [
        {created: new Date(),
        modified: new Date(),
        left: "100",
        top: "200",
        text: "hello"},

        {created: new Date(),
        modified: new Date(),
        left: "150",
        top: "250",
        text: "new"},

        {created: new Date(),
        modified: new Date(),
        left: "200",
        top: "300",
        text: "world"}
    ]
}

如何在历史记录中使用单个数组创建新成员?

您不需要修改json字符串,这太危险了。相反,您可以将其转换回本机javascript数组/对象,在其上使用常规数组push/pop类型运算符,然后再转换回json字符串。

您不需要修改json字符串-这太危险了。相反,您可以将其转换回本机javascript数组/对象,在其上使用常规数组push/pop类型运算符,然后再转换回json字符串。

为什么不能将历史记录作为对象数组进行维护,然后添加新的noteState?当您想要存储您的数组时,只需将历史数组中的每个NoteState插入到JSON对象中

为什么不能将历史记录作为对象数组保存,然后添加一个新的noteState?当您想要存储您的数组时,只需将历史数组中的每个NoteState插入到JSON对象中

在执行任何操作之前,请将这些json字符串转换为对象。通过这样做,您可以轻松地将名称空间添加到历史记录中,如下所示:

history.noteStateX = { x:1,y:2 };

现在,历史和其他属性都有了这个属性。

在做任何事情之前,先将这些json字符串转换为对象。通过这样做,您可以轻松地将名称空间添加到历史记录中,如下所示:

history.noteStateX = { x:1,y:2 };

现在,历史也有了这个属性和其他属性。

看看JSON.parse和JSON.stringify方法。看看JSON.parse和JSON.stringify方法。