根据json响应创建单个对象

时间:2018-06-26 02:01:05

标签: python json python-3.x dictionary

我正在尝试获取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'}

2 个答案:

答案 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

您可以将变量存储在可以使用索引访问的列表中。