如何在AngularJS中从JSON数组响应提取基础数组数据
如何从JSON响应中提取数据数组里的基础对象?
我明白你现在的需求——从返回的JSON响应里取出addInfo、contacts这类数组中的基础对象对吧?我给你分步骤拆解实现方法,用几种常见编程语言举例:
第一步:先把JSON字符串解析成可操作的对象
不管用哪种语言,首先得把原始的JSON响应转换成语言能直接操作的字典/对象:
- JavaScript 实现
// 假设这是你拿到的JSON响应字符串 const jsonResponse = '{"status": "Success", "PartyObj":{ "finaInfo":[ ], "addInfo":[ {"extraInfoId": "PEI-210", "notes": "cxcxz", "createdDate": "2018-03-09T11:34:10", "updatedDate": "2018-04-19T12:19:38"}], "contacts":[ {"mobileNumber": "906..."} ] }}'; // 解析成JS对象 const parsedData = JSON.parse(jsonResponse); - Python 实现
import json # 假设这是你拿到的JSON响应字符串 json_response = '{"status": "Success", "PartyObj":{ "finaInfo":[ ], "addInfo":[ {"extraInfoId": "PEI-210", "notes": "cxcxz", "createdDate": "2018-03-09T11:34:10", "updatedDate": "2018-04-19T12:19:38"}], "contacts":[ {"mobileNumber": "906..."} ] }}' # 解析成Python字典 parsed_data = json.loads(json_response)
第二步:提取数组中的基础对象
解析完成后,通过层级访问就能直接拿到数组里的目标对象:
- 提取
addInfo数组的第一个对象- JavaScript:
const targetAddInfo = parsedData.PartyObj.addInfo[0]; // 现在targetAddInfo就是你要的基础对象:{"extraInfoId": "PEI-210", "notes": "cxcxz", ...} - Python:
target_add_info = parsed_data['PartyObj']['addInfo'][0] # target_add_info就是目标对象:{'extraInfoId': 'PEI-210', 'notes': 'cxcxz', ...}
- JavaScript:
- 提取
contacts数组的第一个对象- JavaScript:
const targetContact = parsedData.PartyObj.contacts[0]; - Python:
target_contact = parsed_data['PartyObj']['contacts'][0]
- JavaScript:
额外提醒:处理数组为空的情况
如果数组可能是空的,一定要先做判断避免报错:
- JavaScript 示例:
if (parsedData.PartyObj.addInfo.length > 0) { const targetObj = parsedData.PartyObj.addInfo[0]; // 这里处理你的对象逻辑 } else { console.log('addInfo数组是空的,没有可提取的对象'); } - Python 示例:
if len(parsed_data['PartyObj']['addInfo']) > 0: target_obj = parsed_data['PartyObj']['addInfo'][0] else: print('addInfo数组是空的,没有可提取的对象')
内容的提问来源于stack exchange,提问作者Avinash Karn
相关产品推荐
相关产品推荐

