Анализ данных JSON в Python

Запись, чтение и анализ JSON на Python

JSON — это текстовый формат данных, понятный человеку. Он не зависит от языка и используется для обмена данными между приложениями.

В этой статье мы объясним, как анализировать данные JSON в Python.

Python JSON

Модуль json , позволяющий кодировать и декодировать данные JSON, является частью стандартной библиотеки Python.

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

Ниже приведена таблица, показывающая объекты Python и их эквивалентное представление JSON:

Питон JSON
дикт объект
список, кортеж множество
ул. нить
int, float число
Истинный истинный
ЛОЖЬ ЛОЖЬ
Никто нулевой

Для работы с JSON просто импортируйте модуль в начало вашего файла:

 import json

Кодирование JSON в Python

Модуль json имеет два метода для кодирования объектов Python в строки формата JSON: dump() и dumps() .

Метод dump() отправляет выходные данные в файлоподобный объект. Он принимает два позиционных аргумента: кодируемый объект и файлоподобный объект. Вот пример:

 data = { "country" : "Germany" , "vehicle" : { "name" : "Volkswagen" , "model" : "T-Roc" } } with open ( "file.json" , "w" ) as file : json . dump ( data , file )

Если вы запустите скрипт, он создаст файл с именем file.json :

файл.json

 { "country" : "Germany" , "vehicle" : { "name" : "Volkswagen" , "model" : "T-Roc" }}

Метод dumps() работает так же, как dump() , но вместо отправки вывода в файлоподобный объект он возвращает строку:

 data = { "country" : "Germany" , "vehicle" : { "name" : "Volkswagen" , "model" : "T-Roc" } } json . dumps ( data )
 '{"country": "Germany", "vehicle": {"name": "Volkswagen", "model": "T-Roc"}}'

Оба метода принимают одни и те же ключевые аргументы. Например, при анализе или отладке данных JSON может потребоваться указать уровень отступа:

 data = { "country" : "Germany" , "vehicle" : { "name" : "Volkswagen" , "model" : "T-Roc" } } print ( json . dumps ( data , indent = 2 ))
 { "country": "Germany", "vehicle": { "name": "Volkswagen", "model": "T-Roc" } }

Декодирование JSON в Python

Для преобразования данных в формате JSON в объекты Python используйте методы load() и loads() .

Метод load() считывает структуру JSON из файлового объекта и преобразует ее в объект Python.

Предположим, у нас есть следующий JSON-файл:

файл.json

 [ { "userId" : 1 , "id" : 1 , "title" : "Meet with Lisa" , "completed" : true }, { "userId" : 1 , "id" : 2 , "title" : "Design a prototype" , "completed" : false } ]

Чтобы преобразовать данные JSON в представление Python, можно использовать что-то вроде этого:

 import json with open ( 'file.json' ) as f : data = json . load ( f ) type ( data )

JSON преобразуется в список Python, который вы можете использовать в своем коде:

 

Метод loads() преобразует строку, содержащую документ JSON, в объект Python:

 import json json_str = '{"userId": "1", "id": "1", "title": "Meet with Lisa", "completed": "True"}' print ( json . loads ( json_str ))

Строка преобразуется в словарь Python:

 {'userId': '1', 'id': '1', 'title': 'Meet with Lisa', 'completed': 'True'}

Вот более продвинутый пример, показывающий, как сделать запрос API и декодировать данные JSON:

 import json import requests response = requests . get ( "https://jsonplaceholder.typicode.com/users" ) users = json . loads ( response . text ) print ( users )

Заключение

Мы расскажем вам, как кодировать и декодировать данные JSON в Python.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

питон

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *