根据已有参数值向json中添加参数
Add parameter to json based on existing parameter value
{
"data": [{
"prop": "prop1",
"template": "template1",
"group": [{
"group_name": "Group 1",
}, {
"group_name": "Group 2",
}, {
"group_name": "Group 3",
}]
}]
}
在上面的json中,我需要基于group_name
推送group_no
。即,如果group_name
等于Group 1
,则group_no
等于10
。并形成以下json。如何更新现有的json?
{
"data": [{
"prop": "prop1",
"template": "template1",
"group": [{
"group_name": "Group 1",
"group_no": "10"
}, {
"group_name": "Group 2",
"group_no": "11"
}, {
"group_name": "Group 3",
"group_no": "12"
}]
}]
}
这样做
var json = {
"data": [{
"prop": "prop1",
"template": "template1",
"group": [{
"group_name": "Group 1",
}, {
"group_name": "Group 2",
}, {
"group_name": "Group 3",
}]
}]
};
json.data[0].group.forEach(function(d){
if(d.group_name=="Group 1")
d.group_no = 10;
else if(d.group_name=="Group 2")
d.group_no = 11;
else
d.group_no = 12;
});
alert(JSON.stringify(json));
不确定不循环是什么意思,因为无论如何都需要循环遍历它。但是你想要的是这样做的:
data[0].group = data[0].group.map(function(el) {
switch (el.group_name) {
case 'Group 1': return el.group_no = '10';
case 'Group 2': return el.group_no = '11';
...
default: return el;
}
});
如果您的JSON对象实际上是文本,您首先使用var parsed = JSON.parse(data);
并使用parsed
而不是data
。后记你可以data = JSON.stringify(parsed);
相关文章:
- 原型Ajax请求参数为嵌套json
- 如何从网页中对具有多个不同参数的JSON进行排序
- 如何将.json文件作为参数导入.js文件并使用命令行启动它
- 将JSON字符串转换为函数参数
- jquery jqgrid 不显示结果,具体取决于 JSON 对象中的参数
- Json 参数强制转换继承 Web API 2.
- 如何将URI参数转换为JSON
- 为什么 JSON.parse 无法检测参数是否已采用 JSON 格式
- json格式作为cordova或phonegap ios插件的参数
- Restangular:无法发布复杂的json参数
- 定义参数Json或对象
- JSON响应参数
- 如何获取带参数的数据json
- Angularjs$http.post-将参数作为JSON发送到ASPXwebmethod
- 为弹出窗口发布JSON参数
- AngularJS$http POST请求,带有JSON参数AND查询字符串
- 在Javascript或Jquery中,如何将外部json文件作为参数传递给函数
- 是否可以将javascript json ajax POST的多个参数传递给Spring MVC控制器
- 当 JSON.stringify 时,ASP.NET MVC 控制器参数的 JSON 为 null
- Grunt-replace:参数json文件