我正在尝试获取json响应并创建响应中包含的尽可能多的对象。基于下面的文本,我希望变量基于“ testuser1”,而下一个变量基于“ testuser2”,依此类推。我无法将响应转换为字典,但我确定如何计算对象并从每个对象中提取变量,以便稍后在代码中进行引用和更改。
{'Accounts':
[
{'Name': 'testuser1',
'Username': 'testuser1',
'Email': 'test1@example.com'},
{'Name': 'testuser2',
'Username': 'testuser2',
'Email': 'test2@example.com'}
]
基本上,我想统计和创建响应中尽可能多的对象。我不想使用split函数查找{}。例如:$ var1 = {'名称':'testuser1','用户名':'testuser2 = 1','电子邮件':'test1@example.com'}和$ var2 = {'名称':'testuser2', '用户名':'testuser2','电子邮件':'test2@example.com'}
答案 0 :(得分:1)
现在,我考虑了这个问题,我认为我正在错误地解决它。我不应该尝试转换此数据,因为我可以引用字典中的每个元素。转换为变量是多余的。
感谢大家对noob python方法和问题的帮助。
答案 1 :(得分:0)
这适用于python 3:
import json
response = ... # Your json response
d = json.loads(response)
obj_list = []
total_obj = len(d['Accounts'])
for index in range(tot_obj):
obj_list.append(d['Accounts'][index])
var1 = obj_list[0] # Optionally, var1 = d['Accounts'][0]
var2 = obj_list[1]
方法json.loads()
将string
转换为dictionary
,而json.dumps()
则相反。
查看此文档以了解更多信息:json module
您可以将变量存储在可以使用索引访问的列表中。