如何在数组对象及嵌套的company对象中添加指定键值对?
问题描述
我有如下JSON响应数据:
[ { "userId": 1, "id": 3, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "userId": 2, "id": 4, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } } ]
需要在两个位置添加键值对"completed": false:一是数组中的每个顶级对象,二是每个顶级对象内的company对象中,最终得到目标结构的JSON数据。
实现方案
方案1:JavaScript实现
直接遍历数组内的每个对象,为目标层级添加属性即可:
// 假设原始JSON已解析为数组data const data = [ { "userId": 1, "id": 3, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "userId": 2, "id": 4, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } } ]; // 遍历处理每个对象 data.forEach(item => { item.completed = false; // 给顶级对象加属性 item.company.completed = false; // 给company对象加属性 }); // 输出格式化后的JSON console.log(JSON.stringify(data, null, 2));
方案2:Python实现
通过JSON解析与遍历字典的方式完成属性添加:
import json # 原始JSON字符串 raw_json = ''' [ { "userId": 1, "id": 3, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "userId": 2, "id": 4, "title": "fugiat veniam minus", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } } ] ''' # 解析JSON为Python列表 data = json.loads(raw_json) # 遍历处理每个字典 for item in data: item['completed'] = False item['company']['completed'] = False # 输出格式化后的JSON字符串 print(json.dumps(data, indent=2))
内容的提问来源于stack exchange,提问作者vivek chaudhary
相关产品推荐
相关产品推荐

