javascript - 在 Json 数组中添加新字段

标签 javascript

我想更新一个 json 对象

假设我的 json 对象是(该变量用于测试目的,实际上我从 api 接收 json)

var json = [
    {
        user: "value1",
        country: "value2",
        name: "value3"
    }
]

现在使用 javascript 或 jquery,我想添加例如以下字段

firstname: "value" 

所以我的最终 json 应该是

[
    {
        user: "value1", 
        country: "value2", 
        name: "value3", 
        firstname: "value"
    }
]

我已经尝试了堆栈溢出中找到的所有内容

json["firstname"] = "value"

jquery.extend 

json.push 

但这不会更新我的 json 变量或将我的数据置于 () 之外

有什么建议吗?

最佳答案

由于该对象位于数组内部,因此您需要使用 json[0]["firstname"] = "value" , json[0]将从数组中检索第一个元素,即对象

var json = [{
  user: "value1",
  country: "value2",
  name: "value3"
}]
json[0]["firstname"] = "value";

document.write('<pre>' + JSON.stringify(json,null,3) + '</pre>');

<小时/>

如果数组包含多个元素,则迭代它们并添加属性,您可以使用 map() 为此

var json = [{
  user: "value1",
  country: "value2",
  name: "value3"
}, {
  user: "valude1ds",
  country: "valuesds2",
  name: "valdsdsue3"
}]
json = json.map(function(v) {
  v["firstname"] = "value";
  return v;
});

document.write('<pre>' + JSON.stringify(json, null, 3) + '</pre>');

关于javascript - 在 Json 数组中添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433574/

相关文章:

java - 如何按照jsp页面上选中的顺序获取复选框的值?

javascript - 我无法将元素 move 到最后一个位置和第一个位置

javascript - Moment js日期格式问题

javascript - 缩放舞台和拖动元素的相对位置不起作用

javascript - 没有目标 ="blank"?

javascript - 从一组坐标中找到最接近的坐标

javascript - 如何确定用户是否与文档交互以开始视频?

javascript - 即使子组件位置是绝对的,图像组件也不能包含子组件

javascript - 在 1 个 http 请求中解决多个 Promise

javascript - Google 自动完成 Places API 错误 InvalidValueError