Создание отдельных объектов на основе ответа JSON - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь получить ответ json и создать столько объектов, сколько содержится в ответе.Основываясь на тексте ниже, я хочу, чтобы переменная основывалась на «testuser1», а следующая переменная была основана на «testuser2» и так далее.Я могу преобразовать ответ в словарь, но я уверен, как подсчитать объекты и сделать переменные из каждого, чтобы я мог ссылаться и изменить их позже в коде.

{'Accounts': 
    [
      {'Name': 'testuser1', 
       'Username': 'testuser1', 
       'Email': 'test1@example.com'}, 
      {'Name': 'testuser2', 
       'Username': 'testuser2', 
       'Email': 'test2@example.com'}
    ]

По сути, я хочупосчитать и создать столько объектов, сколько есть в ответе.Я не хочу использовать функцию split для поиска {}.Например: $ var1 = {'Name': 'testuser1', 'Username': 'testuser2 = 1', 'Email': 'test1@example.com'} и $ var2 = {'Name': 'testuser2',«Имя пользователя»: «testuser2», «Email»: «test2@example.com »enj

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Теперь, когда я думаю об этой проблеме, я полагаю, что подхожу к ней неправильно.Я не должен пытаться преобразовать эти данные, потому что я могу ссылаться на каждый элемент словаря.Преобразование в переменную является излишним.

Спасибо всем за помощь в подходе и проблеме noob python.

0 голосов
/ 26 июня 2018

Это работает для 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

Вы можете сохранить переменные в списке, к которому можно получить доступ с помощью индексов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...