使用JavaScript附加到JSON对象

Ton*_*y2K 5 javascript json

我正在使用JavaScript构建JSON对象.我如何将以下数据插入到堆栈的底部:

"hello": { "label":"Hello", "url":"#hello" }
Run Code Online (Sandbox Code Playgroud)

在以下变量中:

var ListData = {
  "main": {
    "label":"Main",
    "url":"#main"
  },
  "project": {
    "label":"Project",
    "url":"#project"
  },
  "settings": {
    "label":"Settings",
    "url":"#settings",
    "subnav":[
      {
        "label":"Privacy",
        "url":"#privacy"
      },
      {
        "label":"Security",
        "url":"#security"
      },
      {
        "label":"Advanced",
        "url":"#advanced"
      }
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

所以变量看起来像:

var ListData = {
  "main": {
    "label":"Main",
    "url":"#main"
  },
  "project": {
    "label":"Project",
    "url":"#project"
  },
  "settings": {
    "label":"Settings",
    "url":"#settings",
    "subnav":[
      {
        "label":"Privacy",
        "url":"#privacy"
      },
      {
        "label":"Security",
        "url":"#security"
      },
      {
        "label":"Advanced",
        "url":"#advanced"
      }
    ]
  },
  "hello": {
    "label":"Hello",
    "url":"#hello"
  }
};
Run Code Online (Sandbox Code Playgroud)

我使用了以下代码,但它似乎不起作用:

var NewData = '"hello": { "label":"Hello", "url":"#hello" }';
ListData.push(NewData);
Run Code Online (Sandbox Code Playgroud)

Cla*_*son 16

您可以直接使用对象文字插入它:

ListData.hello = { label: "Hello", url: "#hello" }; 
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 5

如果您使用的是jQuery,则可以使用.extend() jQuery API如:

$.extend(ListData, {"hello": { "label":"Hello", "url":"#hello" }});
Run Code Online (Sandbox Code Playgroud)