如何修改 JSON 数组
How to modify JSON array?
如何
更新以下多维 JSON 数组中特定索引的值?
我想更新放置在footer_logo
节点内的background-image
的值。
{
"Machine1": {
"sidebar_inner": {
"img": "img/pill.png",
"background-color": "#ffffff",
"side_logo": {
"background-image": "../footer_logo.png"
}
},
"lb_footer": {
"img": "img/bin.png",
"footer_logo": {
"background-image": "..img/footer_logo.png"
}
},
"machine_stand": {
"img": "img/machine_stand.png"
},
"side": {
"backgroundcolor": "#ccc"
}
}
}
我在这里添加了一个jsfiddle示例。这很简单,看看下面的代码。
var myJson = {
"Machine1": {
"sidebar_inner": {
"img": "img/pill.png",
"background-color": "#ffffff",
"side_logo": {
"background-image": "../footer_logo.png"
}
},
"lb_footer": {
"img": "img/bin.png",
"footer_logo": {
"background-image": "..img/footer_logo.png"
}
},
"machine_stand": {
"img": "img/machine_stand.png"
},
"side": {
"backgroundcolor": "#ccc"
}
}
};
myJson.Machine1.lb_footer.footer_logo['background-image'] = 'New value.';
alert(myJson.Machine1.lb_footer.footer_logo['background-image']);
要更新嵌套值,您需要将键(索引用于数组)链接在一起以查找适当的值。
以下是代码,格式化为便于使用:
var obj = {"Machine1": {
"sidebar_inner": {
"img": "img/pill.png",
"background-color": "#ffffff",
"side_logo": {
"background-image": "../footer_logo.png"
}
},
"lb_footer": {
"img": "img/bin.png",
"footer_logo": {
"background-image": "..img/footer_logo.png"
}
},
"machine_stand": {
"img": "img/machine_stand.png"
},
"side": {
"backgroundcolor":"#ccc"
}
}}
例子
要更新"footer_logo"的背景图像:obj.Machine1.lb_footer,footer_logo.background-image = "something new";
要更新"machine_stand"的 img:
obj.machine_stand.img = "new/link.jpg";
// or use 'bracket notation', it's the same thing
obj['machine_stand']['img'] = "new/link.jpg"
试试这个。一个工作 jsfiddle
var json= '{"Machine1":{"sidebar_inner":{"img":"img'/pill.png","background-color":"#ffffff","side_logo":{"background-image":"..'/footer_logo.png"}},"lb_footer":{"img":"img'/bin.png","footer_logo":{"background-image":"..img'/footer_logo.png"}},"machine_stand":{"img":"img'/machine_stand.png"},"side":{"backgroundcolor":"#ccc"}}}';
var jsonObj = JSON.parse(json);
jsonObj.Machine1.lb_footer.footer_logo['background-image'] = 'abc';
arr["Machine1"]["lb_footer"]["footer_logo"]["background-image"] = mynewvalue;
相关文章:
- 需要帮助设置json数组
- 如何使用 node.js 比较两个 json 数组
- 根据id将json数组组合为一个json数组
- 如何创建JSON数组
- 如何将package.json数组传递给grunt.js
- 访问json数组中的对象
- JSON数组数据返回Undefined
- 如何向JSON数组动态添加属性
- 如何从json数组中获取特定值
- 从多维嵌套json数组创建下拉列表
- 在ListView中添加JSON数组中存储的图像-ReactNative
- jquery在json数组中循环
- 将 JSON 数组解析为 JavaScript 数组
- 如何在php中读取没有任何键的JSON数组
- 如何在Jquery中迭代JSON数组
- 如何在cycle js中从JSON数组创建组件
- 如何使用jquery返回php-json数组对象
- JSON数组转换为JS对象数组
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- 使用Underscore.js修改json数组中所选元素的更有效方法