You are currently viewing Чтение, запись и анализ JSON с помощью Python

Чтение, запись и анализ JSON с помощью Python

JSON — это легкий формат данных для обмена данными, который может быть легко прочитан и записан людьми, легко проанализирован и сгенерирован машинами. Это полный текстовый формат, не зависящий от языка. Для работы с данными JSON в Python есть встроенный пакет под названием json.

Пример:
s = '{"id":01, "name": "Emily", "language": ["C++", "Python"]}'

Синтаксис JSON рассматривается как подмножество синтаксиса JavaScript, включая следующее:

  • Name/Value pairsПредставляет данные, за именем которых следует ‘:'(двоеточие), а пары Имя/Значение разделяются запятой.
  • Curly braces: Удерживает предметы.
  • Square brackets: Храните массивы со значениями, разделенными (запятой).

Ключи/Имя должны быть строками с двойными кавычками, а значения должны быть типами данных среди следующих:

  • String (Строка)
  • Number (Номер)
  • Object (JSON object) (Объект (объект JSON))
  • array (массив)
  • Boolean (Логический)
  • Null (Нулевой)
Пример:
 {
   "employee": [

      {
         "id": "01",
         "name": "Amit",
         "department": "Sales"
      },

      {
         "id": "04",
         "name": "sunil",
         "department": "HR"
      }
   ]
}

Разбор JSON (преобразование из JSON в Python)

метод json.loads() может анализировать строку json, и результатом будет словарь Python.
Синтаксис:

json.loads(json_string)

Пример:

# Python program to convert JSON to Python


import json

# JSON string
employee ='{"id":"09", "name": "Nitin", "department":"Finance"}'

# Convert string to Python dict
employee_dict = json.loads(employee)
print(employee_dict)

print(employee_dict['name'])

Выход:

{'id': '09', 'department': 'Finance', 'name': 'Nitin'}
Nitin

Python прочитал файл JSON

метод json.load() может считывать файл, содержащий объект JSON. Рассмотрим файл с именем сотрудник .json, который содержит объект JSON.
Синтаксис:

json.load(file_object)

Пример: Давайте предположим, что JSON выглядит так.

Мы хотим прочитать содержимое этого файла. Ниже приведена реализация.

# Python program to read
# json file


import json

# Opening JSON file
f = open('data.json',)

# returns JSON object as
# a dictionary
data = json.load(f)

# Iterating through the json
# list
for i in data['emp_details']:
	print(i)

# Closing file
f.close()

Выход:

Здесь мы использовали функцию open() для чтения файла JSON. Затем файл анализируется с помощью метода json.load (), который дает нам словарь с именем data.

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

метод json.dumps() может преобразовать объект Python в строку JSON.
Синтаксис:

json.dumps(dict, indent)

Для этого требуется два параметра:

  • dictionary  имя словаря, который должен быть преобразован в объект JSON.
  • indent  определяет количество единиц для отступа

Пример:

# Python program to convert
# Python to JSON


import json

# Data to be written
dictionary ={
"id": "04",
"name": "sunil",
"department": "HR"
}

# Serializing json
json_object = json.dumps(dictionary, indent = 4)
print(json_object)

Выход:

{
 "id": "04",
 "name": "sunil",
 "department": "HR"
}

Выход:

{  "depatment": "HR",  "id": "04",  "name": "sunil" }

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

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

Объекты Python и их эквивалентное преобразование в JSON:

PythonЭквивалент JSON
dictобъект
list, tupleмассив
strстрока
int, floatномер
Trueистинный
Falseложный
Noneнулевой

Запись JSON в файл

метод json.dump() может быть использован для записи в файл JSON.
Синтаксис:

json.dump(dict, file_pointer)

Для этого требуется 2 параметра:

  • dictionary  имя словаря, который должен быть преобразован в объект JSON.
  • file pointer указатель файла, открытого в режиме записи или добавления.
# Python program to write JSON
# to a file


import json

# Data to be written
dictionary ={
	"name" : "sathiyajith",
	"rollno" : 56,
	"cgpa" : 8.6,
	"phonenumber" : "9976770500"
}

with open("sample.json", "w") as outfile:
	json.dump(dictionary, outfile)

Выход:

Вышеуказанная программа открывает файл с именем sample.json в режиме записи с помощью «w». Файл будет создан, если он не существует. Json.dump() преобразует словарь в строку JSON, и она будет сохранена в файле sample.json.