«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему порядок ключей в моем выходе JSON отличается от порядка в моем словаре Python с использованием `json.dumps '?

Почему порядок ключей в моем выходе JSON отличается от порядка в моем словаре Python с использованием `json.dumps '?

Опубликовано в 2025-02-06
Просматривать:696

Why is the order of keys in my JSON output different from the order in my Python dictionary using `json.dumps`?

uper Order Items в JSON объекты с "json.dumps"? .dumps «Преобразовать список словарей в JSON. Тем не менее, вы заметили, что порядок ключей в каждом словаре не так, как ожидалось. В частности, вам нужны клавиши, чтобы появиться в порядке «id», «name» и «timezone».

daseing

оба словаря Python (до Python 3.7) и объекты JSON - это неупорядоченные коллекции. Это означает, что порядок ключей в словарном или объекте JSON не гарантирован. «json.dumps» для сортировки ключей в выходе JSON. Например:

import json iness.append ({"id": row.id, "name": row.name, "timezone": row.timezone}) print (json.dumps (страны, sort_keys = true))

это выведет json с ключами в следующем порядке: [ {"id": 1, "имя": "Маврикий", "Timezone": 4}, {"id": 2, "name": "France", "Timezone": 2}, {"id": 3, "имя": "Англия", "Timezone": 1}, {"id": 4, "name": "USA", "Timezone": -4} ]

]

решение 2: Использование ourdEdDict
import json

countries.append({"id":row.id,"name":row.name,"timezone":row.timezone})
print(json.dumps(countries, sort_keys=True))
Если вам нужен определенный порядок для ключей, вы можете использовать класс "collections.ordereddict". Заказанный диск сохраняет порядок вставленных в него ключей. Например:

[
   {"id": 1, "name": "Mauritius", "timezone": 4}, 
   {"id": 2, "name": "France", "timezone": 2}, 
   {"id": 3, "name": "England", "timezone": 1}, 
   {"id": 4, "name": "USA", "timezone": -4}
]

это выведет json с ключами в порядке "id", "name" и "timezone".

в Python 3.6, а затем, порядок аргументов ключевых слов сохраняется в словарях. Это означает, что вы можете достичь того же результата, что и использование OrderedDict, просто указав ключи в желаемом порядке при создании словаря:

from collections import OrderedDict

countries_by_id = OrderedDict()
countries_by_id["id"] = row.id
countries_by_id["name"] = row.name
countries_by_id["timezone"] = row.timezone

print(json.dumps(countries_by_id))
это автоматически сохранит порядок ключей в выводе json.

]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3