如何在已声明的JSON对象中添加键值对

Max*_*eel 18 javascript json

我已经声明了一个JSON对象,并在其中添加了一些键值对,如:

var obj  = {};
Run Code Online (Sandbox Code Playgroud)

并添加了一些数据,如:

obj = {
"1":"aa",
"2":"bb"
};
Run Code Online (Sandbox Code Playgroud)

但是我想在同一个对象中添加更多的键值对,如果我添加上面提到的键值对,那么它将替换旧的键值对.那么任何人都可以告诉我如何在同一个JSON对象中添加数据,即obj.

scg*_*ugh 37

你能做到以下几点:

obj = {
    "1":"aa",
    "2":"bb"
};


var newNum = "3";
var newVal = "cc";


obj[newNum] = newVal;



alert(obj["3"]); // this would alert 'cc'
Run Code Online (Sandbox Code Playgroud)


sag*_*dhi 10

对象分配将一个或多个源对象复制到目标对象。所以我们可以Object.assign在这里使用。

句法:Object.assign(target, ...sources)

var obj  = {};

Object.assign(obj, {"1":"aa", "2":"bb"})

console.log(obj)
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案,特别是当您需要将具有多个键值对的大型对象添加到现有对象时。 (2认同)

rfo*_*nal 9

您可以使用点表示法或括号表示法...

var obj = {};
obj = {
  "1": "aa",
  "2": "bb"
};

obj.another = "valuehere";
obj["3"] = "cc";
Run Code Online (Sandbox Code Playgroud)


dpm*_*cry 5

json对象的示例代码:

    var user = {'user':'barney','age':36};
    user["newKey"] = true;
    console.log(user);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="lodash.js"></script>
Run Code Online (Sandbox Code Playgroud)

对于 json 数组元素

示例代码:

var users = [
  { 'user': 'barney', 'age': 36 },
  { 'user': 'fred',   'age': 40 }
];

users.map(i=>{i["newKey"] = true});

console.log(users);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="lodash.js"></script>
Run Code Online (Sandbox Code Playgroud)