Я пытаюсь получить ответ от http://steamcommunity.com/profiles/76561198081591043/inventory/json/730/2 в python с использованием запросов.Преобразование в json переупорядочивает объекты в python
import requests
url = "http://steamcommunity.com/profiles/76561198081591043/inventory/json/730/2"
r = requests.get(url)
print r.text
print r.json()
r.text
и r.json()
возвращают объекты упорядоченные по-другому. В «rgInventory», например, первые 3 "ids":
в .text
конец в 925, 658, 891
, но в .json()
конец в 891, 619, 741
(просто совпадение, что они спускаются).
json.loads(r.text)
дает тот же результат
Как я получить json
объекты в том же порядке, как .text
показывает их?
Вы не делаете , JSON Objects отображает словари Python, которые по своей сути неупорядочены. –
не столько «неупорядоченный», сколько «произвольно заказанный»: порядок элементов определяется на основе хеширующей функции, которая зависит от вашего конкретного вкуса Python и на нее нельзя положиться. есть ли причина, почему его нужно заказывать точно так же, как в тексте? – oxymor0n
Я не понимаю неупорядоченную часть, если я использую iteritems() для циклического прохождения объекта (r ['rgInventory'] [i] ['id'] и печатаю это, я всегда получаю их обратно в том же порядок, как показано печатью –