темный логотип proxyscrape

Разбор JSON в Python - 3 простых шага

Путеводители, Как сделать, Python, авг-05-20225 минут чтения

Parsing JSON data using Python eases the data transformation with their lightweight quality. International Data Corporation predicts that, by 2022, Big Data and Business Industry will increase by 62% from 2018. As data sharing is quite a common thing in the digital world, people intend to send loads of data from their main servers to

Парсинг данных JSON с помощью Python облегчает преобразование данных благодаря их легкости. По прогнозам International Data Corporation, к 2022 году индустрия больших данных и бизнеса вырастет на 62 % по сравнению с 2018 годом. Поскольку обмен данными является довольно распространенным явлением в цифровом мире, люди намерены отправлять большие объемы данных с основных серверов в клиентские приложения или с одного сервера в другие базы данных. Люди в значительной степени полагаются на форматы файлов обмена данными, такие как JSON, для передачи данных на устройство на другом конце, которое преобразует их в формат, доступный для чтения пользователем. В этой статье мы рассмотрим, что такое JSON, как разобрать JSON в Python и зачем это нужно?

Оглавление

Зачем разбирать JSON на Python?

Поскольку JSON - легкий формат, это облегчает трансформацию за счет времени и скорости. Именно поэтому специалисты по работе с данными предпочитают отправлять и получать сообщения в формате JSON. Но когда преобразованные данные требуют дальнейших операций, пользователям приходится переводить их на понятный машинам язык. Именно поэтому люди разбирают JSON на языке python. Здесь мы работаем с языком Python. Поэтому нам придется читать и разбирать JSON, используя библиотеки и функции Python для доступа к данным.

Чтобы узнать о важности парсинга данных, прочтите эту статью Парсинг данных и его преимущества.

Что такое JSON?

Javascript Object Notation (JSON) - это облегченный формат данных, который передает информацию с сервера в веб-приложение в удобном для восприятия формате. Хотя формат JSON является производным от JavaScript, он использует текстовый формат для представления объектов. Машины могут разбирать JSON в Python, чтобы преобразовать данные JSON в машиночитаемый формат.

Образец данных в формате JSON

{
   "person": [
 
      {
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      },
 
      {
         “name": “Nitin",
         "age": "24",
         "languages": ["Java", “Python”]
      }
   ]
}

Вот пример строки JSON. Содержимое в фигурных скобках - это объект, а данные в квадратных скобках - массив. 

Как разобрать JSON в Python

The JSON string {“name”: “John”, “age”: “26”, “languages”: [“C”, “Python”]} is similar to the dictionaries in Python. Just like dictionaries, JSON also has keys and values. Here the keys and value pairs are separated with a colon. The ‘name,’ ‘age,’ and ‘languages’ are the keys, and the data after the colon are the values of the respective keys. JSON can be accessed in Python using the JSON library that holds all the functions to convert the JSON strings into Python dictionaries and vice versa. 

Python может получить доступ к данным JSON, импортировав библиотеку JSON в код python. Модуль JSON в Python позволяет пользователю читать, записывать, разбирать и выполнять другие операции с данными JSON.

 import json

Разбор данных JSON на объекты Python

Данные JSON бывают разных типов: строки, массивы, объекты, числа, файлы и многое другое. 

Python Parse JSON - Эквивалентный объект Python

После получения данных JSON основная задача - преобразовать их в типы данных Python. В этой таблице приведен список типов данных JSON и эквивалентных им форматов Python.

Типы данных JSONТипы данных Python
объектдиктант
массивсписок, кортеж
строкаstr
номерint, float
правдаПравда
ложьЛожь
нетNull

Шаги по разбору различных данных JSON в Python

Здесь мы узнаем, как разобрать определенные данные JSON в эквивалентный им формат Python. 

  1. Преобразование строк JSON в словари Python
  2. Массив JSON в списки Python
  3. Преобразование JSON-файла в объекты Python. 

Разбор JSON в Python - преобразование строк в словари

Рассмотрим пример строки JSON.

{
  "name": "John", 
  "age": "26"
 }

Присвоение строки переменной может облегчить операции синтаксического анализа, передавая переменную в функции. Пример : print(person)

person ='{"name": "John", "age": "26"}'

Оператор print(person) выведет строку. 

person ='{"name": "John", "age": "26"}'
print(person)

Выход 

{“name”: “John”, “age”: “26”}

Передача переменной в функцию type() гарантирует, что данные будут строковыми.

person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))

Выход 

{“name”: “John”, “age”: “26”}

<class ‘str’>

Преобразование строк в словари

На начальном этапе необходимо разобрать данные JSON, представленные в виде строк, и преобразовать их в удобную для Python форму. Как уже говорилось ранее, строки JSON и словари Python очень похожи, поскольку оба имеют структуру пары ключ-значение. Чтобы прочитать и разобрать данные JSON в python, давайте сначала импортируем библиотеку JSON. Функция loads() используется для разбора строк JSON в словарь Python. Символ 's' в функции loads() обозначает строку.

импортировать json
 json.loads(STRNAME)

Рассмотрим пример строки JSON, который мы вывели в примере выше. 

person ='{"name": "John", "age": "26"}'
 print(person)

Используйте функцию json.loads() для преобразования строки в словарь python. 'json' в json.loads() обозначает имя библиотеки. 

json.loads(person)

Также необходимо присвоить оператор load() новой переменной. Здесь мы использовали переменную 'person_dxnry'. 

person_dxnry = json.loads(person)pyt

Преобразовав строку в словарь и присвоив ее новой переменной, мы можем использовать функцию type(), чтобы узнать тип данных до и после преобразования.

print(type(person))
print(type(person_dxnry))
import json
 person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))
 person_dxnry = json.loads(person)
 print(person_dxnry)
 print(type(person_dxnry))

Выход:

{“name”: “John”, “age”: “26”}

<class ‘str’>

{‘name’: ‘John’, ‘age’: ’26’}

<class ‘dict’>

Здесь функции type() показывают, что в начальном случае тип является строкой, а после преобразования он становится словарем. 

Разбор JSON в Python - преобразование массива в список

Давайте попробуем преобразовать другой тип данных JSON в структуру Python, используя этот пример кода JSON, содержащий массив.

{
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      }

Мы можем присвоить массив переменной 'languages', чтобы передать его в функцию loads(). Затем мы можем создать новую переменную 'language_list', чтобы присвоить ей результат функции loads().

languages = '["C", "Python"]'
 languages_list = json.loads(languages)
import jsonpyt
 languages = '["C", "Python"]'
 languages_list = json.loads(languages)
 print(languages_list)
 print(type(languages_list))

Использование функций type() для обеих переменных поможет нам проверить типы данных.

Выход

['C', 'Python'].

<class ‘list’>

Этот вывод говорит о том, что массив JSON в 'languages' преобразуется в список функцией loads().

Разбор JSON в Python - файлы в объект

Наиболее распространенный формат JSON - это строка. Также велика вероятность получения данных в формате JSON в виде файла. Каким бы ни был тип данных, конечная цель - разобрать их в формат, удобный для чтения на питоне. Для парсинга можно использовать две функции, такие как load() и loads(). Эти функции разбора JSON отличаются типом данных JSON. Мы кратко рассмотрим эти функции в следующих разделах.

Встроенная в Python библиотека JSON предоставляет еще одну функцию преобразования 'load()' для чтения и разбора файла JSON в Python. 

Как прочитать и разобрать файл JSON?

Сначала нужно сохранить этот пример кода с именем 'person.json'.

{
         "name": "John",
         "age": "26",
      }

Существует две функции для разбора файла JSON. Одна из них - функция open(). Метод open() помогает открыть файл JSON и поручает компилятору выполнить преобразование с помощью операции load(). 

с open('person.json') as file:pyt

Открыв JSON-файл, мы должны создать переменную 'data' для назначения операций загрузки.

data = json.load(file)

Наконец, мы можем использовать функцию type() для проверки типа содержимого.

print(type(data))

Мы можем получить доступ к элементам преобразованного словаря, используя переменную 'data' и передавая ключи словаря, такие как 'name' и 'age'.

print(data['age'])
 print(data['name'])
импорт json
with open('person.json') as file:
data = json.load(file)
print(type(data))
print(data['age'])
print(data['name'])

Выход:

<class ‘dict’>

26

Джон

В выводе говорится, что тип - 'dictionary'. Этот вывод означает, что мы успешно преобразовали файл JSON в список.

Запись Python в JSON

Мы также можем преобразовать формы данных Python в JSON с помощью функций dumps() и dump(). Это обратные процессы функций load() и loads(). Давайте возьмем словарь Python и преобразуем его в строку JSON с помощью функции dump(). 

 Мы определили словарь Python как 'person_dictionary'. 

person_dictionary = {'name': 'John', 'age': 26 }

Используйте функцию dumps(), чтобы выполнить операцию преобразования и присвоить ее новой переменной 'person_json'.

person_json = json.dumps(person_dictionary)
 print(person_json)
import json
person_dictionary = {'name': 'John',
 'age': 26
 }
 person_json = json.dumps(person_dictionary)
 print(person_dictionary)
 print(type(person_dictionary))
 print(person_json)
 print(type(person_json))

Выход:

{‘name’: ‘John’, ‘age’: 26}

<class ‘dict’>

{“name”: “John”, “age”: 26}

<class ‘str’>

Использование функции type() для обеих переменных 'person_dictioanry' и 'person_json' обеспечивает преобразование формата Python в строку JSON.

Чем могут помочь прокси-серверы?

Парсинг JSON широко распространен в приложениях для преобразования данных, таких как поиск, анализ, миграция данных и интеграция данных. Эти решения с прокси помогут вам получить лучший опыт неограниченного соскабливания и преобразования данных с помощью python. Просмотрите этот блог, чтобы узнать, как добавить прокси в запросы python. Proxyscrape В блоге представлены прокси различных типов, которые помогут в процессе парсинга.

Также читает

Понимание школьных прокси

Как настроить прокси-серверы cURL

Цепочка прокси-серверов

Вопросы и ответы:

1. Зачем разбирать JSON на Python?
JSON parsing is possible with some other languages as well, Python parsing is quite popular as it provides an inbuilt JSON package to handle read, convert and write JSON data easily. This parsing is useful in applications like webscraping, news scraping, data wrangling, data mining, Search engine scraping, and Marketing industries wherever data transformation is required.
2. Назовите несколько языков, поддерживающих JSON?
Формат JSON поддерживают C++, Java, PHP, C# и Python.
3. Что такое объекты JSON?
Объекты JSON представляют собой набор пар имен и значений, заключенных в фигурные скобки. Каждая пара имя/значение разделяется запятой, а за именем следует двоеточие.

Резюме

JSON стал неотъемлемой частью работы над веб-сайтами. Когда возникает необходимость в передаче или обмене данными, люди часто используют формат JSON, поскольку они легки и легко взаимозаменяемы. Формат JSON больше похож на текстовую форму, поэтому пользователи могут легко понять содержимое. Машина также может прочитать и разобрать содержимое в удобный для машины формат. Здесь мы рассмотрели несколько функций преобразования в Python, таких как open(), load(), loads(), dump() и dumps(). Эти встроенные функции модуля JSON могут читать и разбирать данные из формата JSON в типы данных Python, и наоборот.