将新对象添加到传入的json字符串

时间:2017-10-29 11:27:09

标签: javascript json

我尝试解析传入的json字符串并推送新的字符串 反对。

我试过这样的话:

addSetting(category) {
    console.log(category.value); //Console.log = [{"meta":"","value":""}]
    category.value = JSON.parse(category.value).push({meta: "", value: ""});
    console.log(category.value); //Console.log = 2
},

问题是category.value2?我期待2个json对象?我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试:

addSetting(category) {
 category.value = JSON.parse(category.value);
 category.value.push({meta: "", value: ""});
 console.log(category.value);
}

您错误地使用了push()。数组函数push()返回新数组的大小。

  

返回值

     

方法所针对的对象的新长度属性   调用。

参考:Array.prototype.push() MDN

由于数组的新大小为2(在推送新元素之后),以下行不正确:

category.value = JSON.parse(category.value).push({meta: "", value: ""});

在解析JSON之后,为变量category.value分配了push的返回值。