JSON Python

JSON - это синтаксис для хранения и обмена данными.

JSON написан текстом, представляющим объекты JavaScript (JavaScript object notation).

JSON в Python

Python имеет модуль под названием json внутреннюю библиотеку, которая может быть использована для обработки данных JSON.

Пример

Импортировать json Модуль:

import json

Анализ JSON - преобразование JSON в Python

Если есть строка JSON, то можно использовать json.loads() Метод его анализирует.

Результат будет словарем Python.

Пример

Преобразование JSON в Python:

import json
# Некоторые JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'
# Анализ x:
y = json.loads(x)
# Результат является словарем Python:
print(y["age"])

Запуск примера

Преобразование Python в JSON

Если у вас есть объект Python, вы можете использовать json.dumps() Метод преобразует его в строку JSON.

Пример

Преобразование Python в JSON:

import json
# Объект Python (словарь):
x = {
  "name": "Bill"
  "age": 63
  "city": "Seatle"
}
# Преобразование в JSON:
y = json.dumps(x)
# Результат является строкой JSON:
print(y)

Запуск примера

Вы можете преобразовать следующие типы объектов Python в строку JSON:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

Пример

Преобразование объектов Python в строку JSON и вывод значения:

import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Запуск примера

При преобразовании Python в JSON объекты Python будут преобразованы в эквиваленты JSON (JavaScript):

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

Пример

Преобразование объектов Python, содержащих все разрешенные типы данных:

import json
x = {
  "name": "Bill"
  "age": 63
  "married": True
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  }
}
print(json.dumps(x))

Запуск примера

Форматирование результатов

Верхний пример печатает строку JSON, но она не очень удобна для чтения, без отступов и пробелов.

json.dumps() Метод предоставляет параметры для улучшения читаемости результатов:

Пример

Использование indent Параметр для определения числа отступов:

json.dumps(x, indent=4)

Запуск примера

Вы также можете определить разделители, значение по умолчанию (", ", ": "), означает использование запятой и пробела для разделения каждого объекта, использование двоеточия и пробела для разделения ключей и значений:

Пример

Использование separators Параметр для изменения стандартных разделителей:

json.dumps(x, indent=4, separators=(". ", " = "))

Запуск примера

Сортировка результатов

json.dumps() Метод предоставляет параметр для сортировки ключей в результатах:

Пример

Использование sort_keys Параметр для указания сортировки результатов:

json.dumps(x, indent=4, sort_keys=True)

Запуск примера