如何向指定JSON结构的agents嵌套数组中添加新Agent元素
向JSON的Agent数组添加元素的实现方法
核心需求
将指定Agent对象添加到目标JSON的agents[0].agent数组中,同时需更新agentCount字段值(从7改为8,保证数据一致性)。
方法一:手动编辑JSON文本
直接修改原始JSON字符串,步骤如下:
- 定位到
agents数组下第一个对象中的agent数组 - 将新Agent对象追加到该数组末尾
- 将
agentCount的值从7修改为8
修改后的完整JSON如下:
{ "refURL": "/unifiedconfig/config/agentteam/5022", "changeStamp": 12, "agentCount": 8, "description": "Cumulus Outbound Team", "name": "CumulusOutbound", "peripheral": {"id": 5000,"name": "CUCM_PG_1"}, "peripheralId": 5000, "supervisorCount": 1, "agents": [ { "agent": [ {"refURL": "/unifiedconfig/config/agent/5197","agentId": "1085","firstName": "Owen","lastName": "Harvey","userName": "oharvey"}, {"refURL": "/unifiedconfig/config/agent/5201","agentId": "1320","firstName": "Bruce","lastName": "Wayne","userName": "bwayne"}, {"refURL": "/unifiedconfig/config/agent/5202","agentId": "1321","firstName": "Peter","lastName": "Parker","userName": "pparker"}, {"refURL": "/unifiedconfig/config/agent/5203","agentId": "1322","firstName": "Tony","lastName": "Stark","userName": "tstark"}, {"refURL": "/unifiedconfig/config/agent/5204","agentId": "1323","firstName": "Steve","lastName": "Rogers","userName": "srogers"}, {"refURL": "/unifiedconfig/config/agent/5205","agentId": "1324","firstName": "Bruce","lastName": "Banner","userName": "bbanner"}, {"refURL": "/unifiedconfig/config/agent/5231","agentId": "1086","firstName": "Annika","lastName": "Hamilton","userName": "annika"}, {"refURL":"/unifiedconfig/config/agent/2255","agentId":"1478","firstName":"kkk","lastName":"ddd","userName":"dddd"} ] } ], "supervisors": [ {"supervisor": [{"refURL": "/unifiedconfig/config/agent/5174","agentId": "1082","firstName": "Rick","lastName": "Barrows","userName": "rbarrows@dcloud.cisco.com"}]} ] }
方法二:Python代码实现
使用Python内置json模块解析并修改JSON:
import json # 原始JSON字符串 original_json = '''{"refURL": "/unifiedconfig/config/agentteam/5022","changeStamp": 12,"agentCount": 7,"description": "Cumulus Outbound Team","name": "CumulusOutbound","peripheral": {"id": 5000,"name": "CUCM_PG_1"},"peripheralId": 5000,"supervisorCount": 1,"agents": [{"agent": [{"refURL": "/unifiedconfig/config/agent/5197","agentId": "1085","firstName": "Owen","lastName": "Harvey","userName": "oharvey"},{"refURL": "/unifiedconfig/config/agent/5201","agentId": "1320","firstName": "Bruce","lastName": "Wayne","userName": "bwayne"},{"refURL": "/unifiedconfig/config/agent/5202","agentId": "1321","firstName": "Peter","lastName": "Parker","userName": "pparker"},{"refURL": "/unifiedconfig/config/agent/5203","agentId": "1322","firstName": "Tony","lastName": "Stark","userName": "tstark"},{"refURL": "/unifiedconfig/config/agent/5204","agentId": "1323","firstName": "Steve","lastName": "Rogers","userName": "srogers"},{"refURL": "/unifiedconfig/config/agent/5205","agentId": "1324","firstName": "Bruce","lastName": "Banner","userName": "bbanner"},{"refURL": "/unifiedconfig/config/agent/5231","agentId": "1086","firstName": "Annika","lastName": "Hamilton","userName": "annika"}]}],"supervisors": [{"supervisor": [{"refURL": "/unifiedconfig/config/agent/5174","agentId": "1082","firstName": "Rick","lastName": "Barrows","userName": "rbarrows@dcloud.cisco.com"}]}]}''' # 解析JSON为字典 data = json.loads(original_json) # 定义要添加的Agent对象 new_agent = {"refURL":"/unifiedconfig/config/agent/2255","agentId":"1478","firstName":"kkk","lastName":"ddd","userName":"dddd"} # 添加到agent数组 data['agents'][0]['agent'].append(new_agent) # 更新agentCount data['agentCount'] = 8 # 输出修改后的格式化JSON print(json.dumps(data, indent=2))
方法三:JavaScript代码实现
适用于浏览器环境或Node.js:
// 原始JSON字符串 const originalJson = `{"refURL": "/unifiedconfig/config/agentteam/5022","changeStamp": 12,"agentCount": 7,"description": "Cumulus Outbound Team","name": "CumulusOutbound","peripheral": {"id": 5000,"name": "CUCM_PG_1"},"peripheralId": 5000,"supervisorCount": 1,"agents": [{"agent": [{"refURL": "/unifiedconfig/config/agent/5197","agentId": "1085","firstName": "Owen","lastName": "Harvey","userName": "oharvey"},{"refURL": "/unifiedconfig/config/agent/5201","agentId": "1320","firstName": "Bruce","lastName": "Wayne","userName": "bwayne"},{"refURL": "/unifiedconfig/config/agent/5202","agentId": "1321","firstName": "Peter","lastName": "Parker","userName": "pparker"},{"refURL": "/unifiedconfig/config/agent/5203","agentId": "1322","firstName": "Tony","lastName": "Stark","userName": "tstark"},{"refURL": "/unifiedconfig/config/agent/5204","agentId": "1323","firstName": "Steve","lastName": "Rogers","userName": "srogers"},{"refURL": "/unifiedconfig/config/agent/5205","agentId": "1324","firstName": "Bruce","lastName": "Banner","userName": "bbanner"},{"refURL": "/unifiedconfig/config/agent/5231","agentId": "1086","firstName": "Annika","lastName": "Hamilton","userName": "annika"}]}],"supervisors": [{"supervisor": [{"refURL": "/unifiedconfig/config/agent/5174","agentId": "1082","firstName": "Rick","lastName": "Barrows","userName": "rbarrows@dcloud.cisco.com"}]}]}`; // 解析JSON为对象 const data = JSON.parse(originalJson); // 定义要添加的Agent对象 const newAgent = {"refURL":"/unifiedconfig/config/agent/2255","agentId":"1478","firstName":"kkk","lastName":"ddd","userName":"dddd"}; // 添加到agent数组 data.agents[0].agent.push(newAgent); // 更新agentCount data.agentCount = 8; // 输出修改后的格式化JSON const updatedJson = JSON.stringify(data, null, 2); console.log(updatedJson);
内容的提问来源于stack exchange,提问作者Ganesh Putta
相关产品推荐
相关产品推荐

