Распарсить строку json python

Распарсить строку json python

Don’t learn to code. Code to learn!

  • Python — Обзор
  • Основы синтаксиса Python
  • Операторы в Python
  • Типы данных в Python
  • Условные конструкторы в Python
  • Циклы в Python
  • Функции в Python
  • Функциональное программирование в Python
  • ООП в Python
  • Модули в Python
  • Работа с файлами в Python
  • Обработка исключительных ситуаций в Python

Людям, работающим с веб часто приходится сталкиваться с необходимостью взаимодействовать с объектами JSON (JavaScript Object Notation). Это удобный способ структурированно хранить необходимые данные. Понятное дело, что и на Python должна быть реализация взаимодействия со строками JSON.

Разработчики Python позаботились об этом, поэтому в состав стандартной библиотеки Python входит модуль json. Почитать подробнее о нем можно в официальной документации, а пока мы сконцентрируемся на конкретной задаче:

Распарсить строку json средствами Python.

Представим, что у нас есть следующая строка json, представляющая заказ товара в интернет-магазине:

Тогда код на Python должен быть следующим:

import json # строка которую будем парсить json_string = """ < "orderID": 42, "customerName": "John Smith", "customerPhoneN": "555-1234", "orderContents": [ < "productID": 23, "productName": "keyboard", "quantity": 1 >, < "productID": 13, "productName": "mouse", "quantity": 1 >], "orderCompleted": true > """ # распаршенная строка parsed_string = json.loads(json_string)

Переменная parsed_string будет иметь тип данных словарь, следовательно любой элемент строки json можно будет получить через необходимый ключ:

как распарсить строку json на python, python json parsing

Как видите, для того чтобы распарсить строку json средствами Python достаточно воспользоваться встроенной библиотекой этого прекрасного языка программирования.

Читайте также:  Python messagebox showinfo параметры

Источник

Интерпретация JSON в Python – как читать файлы JSON

img

JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером. Но как прочитать файл JSON в Python?

В этой статье я покажу вам, как использовать методы json.loads() и json.load() для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON.

Синтаксис JSON

Прежде чем мы приступим к интерпретации и чтению файла JSON, сначала нам нужно разобраться с основным синтаксисом. Подробнее про JSON можно почитать в этой статье. Синтаксис JSON выглядит как объектный литерал JavaScript с парами ключ-значение.

Вот пример данных JSON с данными организации:

Как парсить строки JSON в Python

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

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

import json # assigns a JSON string to a variable called jess jess = '' # parses the data and assigns it to a variable called jess_dict jess_dict = json.loads(jess) # Printed output: print(jess_dict)

Как парсить и читать файлы JSON в Python

В данном примере мы имеем файл в формате JSON с именем fcc.json , который содержит те же данные, что и ранее, касающиеся курсов, которые предлагает сайт.

Если вы хотите прочитать этот файл, то для начала вам нужно использовать встроенную в Python функцию open() с режимом чтения. Мы используем ключевое слово with , чтобы убедиться, что файл закрыт.

with open('fcc.json', 'r') as fcc_file:

Если файл не может быть открыт, то мы получим ошибку OSError . Это пример ошибки «FileNotFoundError» при опечатке в имени файла fcc.json .

Читайте также:  Error loading python dll 127

FileNotFoundError

Затем мы можем проинтерпретировать файл, используя метод json.load() и присвоить его переменной с именем fcc_data .

fcc_data = json.load(fcc_file)

И в конце мы должны напечатать результат.

Вот так будет выглядеть полный код:

import json with open('fcc.json', 'r') as fcc_file: fcc_data = json.load(fcc_file) print(fcc_data)

Как красиво напечатать данные JSON в Python

Если мы посмотрим на то, как печатаются данные, то увидим, что все данные JSON печатаются в одной строке.

Данные JSON

Однако такой формат вывода может быть затруднительным для чтения. И чтобы это исправить, мы можем реализовать метод json.dumps() с параметром indent (отступ).

В данном примере мы сделаем отступ в 4 пробела и будем печатать данные в более удобном для чтения формате.

print(json.dumps(fcc_data, indent=4))

indent

Также мы можем отсортировать ключи в алфавитном порядке, используя параметр sort_keys и установив его значение на True .

print(json.dumps(fcc_data, indent=4, sort_keys=True))

sort_keys

Заключение

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

Если вам необходимо проинтерпретировать строку JSON, которая возвращает словарь, то вы можете использовать метод json.loads() .

Если вам необходимо проинтерпретировать файл JSON, который возвращает словарь, то вы можете использовать метод json.load() .

Источник

Оцените статью