- Парсинг JSON в Python
- Пару слов о JSON
- Сохраняем данные в JSON в Python
- Разбираем JSON-данные в Python
- Интерпретация JSON в Python – как читать файлы JSON
- Синтаксис JSON
- Как парсить строки JSON в Python
- Как парсить и читать файлы JSON в Python
- Как красиво напечатать данные JSON в Python
- Заключение
- How to Extract Data from JSON File in Python?
- Parse JSON Object in Python
- Parse JSON File in Python
- Extract Specific Data from JSON File
- JSON Array Loop Through Data
Парсинг JSON в Python
Модуль JSON входит в стандартную библиотеку Python и является эффективным средством взаимодействия с JavaScript Object Notation (именно так расшифровывается JSON). Функции этого модуля дают возможность разработчику кодировать и декодировать информацию при работе с различными JSON-объектами. Всё это существенно упрощает создание веб-приложений в Python.
Пару слов о JSON
JSON сегодня очень распространён и представляет собой формат данных, представленных в текстовом виде. За счёт своей универсальности и простоты JSON прекрасно работает на различных платформах. С его помощью разработчик может выполнять сериализацию структур информации в целях последующей передачи данных между приложениями. Как пример — обмен текстовой информацией между сервером и браузером о клиентах в интернет-магазине.
Данные в формате JSON могут быть представлены в нескольких видах: 1) последовательность пар с ключами и соответствующими этим ключам значениями; 2) упорядоченный набор значений.
Значения, передаваемые в JSON, могут быть строками, числами, объектами, литералами (true, false, null), одномерными массивами. Что касается Python, то он поддерживает работу с JSON-форматом с помощью специального json-модуля и методов по кодированию/декодированию данных. В результате можно получать и отправлять сведения в виде, комфортном для чтения.
Сохраняем данные в JSON в Python
Если мы хотим записать информацию в JSON-формате, используя средства языка программирования Python, для начала надо подключить соответствующий json-модуль. Для этого нам пригодиться команда import json в самом начале кода.
Также стоит упомянуть метод dumps — он отвечает за автоматическую упаковку информации в JSON и принимает переменную, содержащую все необходимые данные.
Теперь давайте продемонстрируем кодирование словаря dictData. В нём содержатся некоторые данные о пользователе интернет-портала: идентификационный код, пароль, логин, имя, номер телефона, информация об активности, e-mail. Все эти значения представлены в форме обыкновенных строк, а также булевых литералов True/False и целых чисел. Вот наш пример:
import json dictData = < "ID" : 310450, "login" : "admin", "name" : "James Bond", "password" : "root", "phone" : 3330303, "email" : " [email protected]", "online" : True > jsonData = json.dumps(dictData) print(jsonData) [email protected] ", "online": true>Выполнив метод dumps , мы получим результат, который передастся в переменную с названием jsonData. То есть мы видим, что словарь dictData преобразовался в формат JSON всего лишь одной строчкой. А за счёт функции print вся информация была закодирована в изначальном виде. Также следует добавить, что сведения из поля online преобразовались из литерала True в true.
Теперь, используя Python, выполним запись json в файл. Чтобы это сделать, дополним предыдущий код:
with open("data.json", "w") as file: file.write(jsonData)Разбираем JSON-данные в Python
Если мы хотим выполнить обратную операцию и быстро раскодировать формат JSON средствами языка Python, нам поможет метод loads . Он позволяет без труда преобразовать JSON в объект, и с этим объектом мы сможем легко взаимодействовать в программе.
В нашем следующем примере мы продемонстрируем создание аналогичного JSON-объекта с имеющейся информацией о пользователе. Если мы будем в качестве параметра передавать переменную jsonData методу loads , на выходе получим словарь dictData, а из него уже сможем получить нужные данные. Print выведет отдельные поля dictData: имя, информацию об активности, номер телефона, адрес e-mail.
import json jsonData = """ < "ID" : 310450, "login" : "admin", "name" : "James Bond", "password" : "root", "phone" : 3330303, "email" : " [email protected]", "online" : true > """ dictData = json.loads(jsonData) print(dictData["name"]) print(dictData["phone"]) print(dictData["email"]) print(dictData["online"]) James Bond 3330303 [email protected] TrueМы видим, что произошло обратное, а литерал true автоматически преобразовался в True. Это произошло, чтобы была возможность работать с ним средствами Python.
P.S. Итак, мы выполнили кодирование и декодирование информации в JSON-формате с помощью встроенных средств Python. Благодаря наличию удобных методов из модуля json (dumps и loads), эти операции были осуществлены довольно просто. Остаётся добавить, что функции loads и dumps способны взаимодействовать и с другими видами объектов, включая более сложные (например, со вложенными разновидностями словарей со множеством строковых значений).
Интерпретация JSON в Python – как читать файлы JSON
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 .
![]()
Затем мы можем проинтерпретировать файл, используя метод 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.dumps() с параметром indent (отступ).
В данном примере мы сделаем отступ в 4 пробела и будем печатать данные в более удобном для чтения формате.
print(json.dumps(fcc_data, indent=4))
Также мы можем отсортировать ключи в алфавитном порядке, используя параметр sort_keys и установив его значение на True .
print(json.dumps(fcc_data, indent=4, sort_keys=True))
Заключение
JSON – это популярный способ структурирования данных, который используется для обмена информацией между веб-приложением и сервером.
Если вам необходимо проинтерпретировать строку JSON, которая возвращает словарь, то вы можете использовать метод json.loads() .
Если вам необходимо проинтерпретировать файл JSON, который возвращает словарь, то вы можете использовать метод json.load() .
How to Extract Data from JSON File in Python?
In this tutorial, you will learn how to parse JSON file and extract data from file in python? We will look at how we can use ‘json’ module to read the json object and get the value from json array?
The JSON stands for JavaScript Object Notation and it is a very popular lightweight data-interchanging format. We use the JSON to serialize the data have a key pair value data. The JSON object same looks like dictionaries in python.
So, here we will see how you can read the JSON data in python and extract the specific data from the file? We will use the ‘json’ python module. You don’t need to install it using the pip because it’s an in-built module. You can just use it by importing it into the file.
Let’s get started to play with json data in python.
Parse JSON Object in Python
In this example, we will parse the simple json object string that we will create in python. So first thing you need to import the ‘json‘ module into the file.
Then create a simple json object string in python and assign it to a variable.
Now we will use the loads() function from ‘json‘ module to load the json data from the variable. We store the json data as a string in python with quotes notation.
And then we will use the dumps() function from the ‘json‘ module to convert the python string to a JSON object. Now it’s ready to print your json object in python. See the following example code.
In the above code, we print the json data and used the indent for indentation. You can also use the sort in print to sorting the result. So when you run the above code you will get the output like below.
Output:
Now if you want to iterate this json data then just simply use the loop to prin each data one by one. I’m going to use for loop to print it.
Output:
python: 1 php: 2 c: 3 vb: 4 perl: 5Hope you understand the basic of parsing the JSON object in python and print the value from it. Let’s now work with file to extract data it using the ‘json’ python module.
Parse JSON File in Python
In this example, we will learn how to extract data from json file in python. In the above example, we saw the parse simple JSON object and in this example, we will do the same but first, we will create a json file with .json extension.
Let’s create the json_data.json file with the following JSON object OR you can download it from here. And you can also use my JSON formatter tool to minify and beautify json object and download it.
To Load this json file in python, we will first open this file as a read mode using the open() function.
The above code will print your json data from the file. It will store the JSON as python dictionaries, you can check the type of json_load variable using the type(json_load) .
Now you can use it in python and get the data from it which you want to use in the program. You can get the specific index data or you can loop through all data.
Let’s look at how to extract specific data from json file object in python that we have printed above example.
Extract Specific Data from JSON File
As we have store json in the json_data variable, now we will use this variable to get the specific value from the json array.
I will use the key represent to index to get that value from JSON object.
For example, if I want to print all ‘languages‘ from the ‘web‘ JSON object then I will use the following code.
Output:
If you want to get only first language the use the following
Output:
Just use the index of the array to get any languages and I’m sure you know that array index always starts from ‘0’.
JSON Array Loop Through Data
As you see in the above example, we fetched all languages and print them as objects. Now if you want to loop the value and print each language one by one then we will use the for loop to do it.
Output:
1 PHP https://www.php.net/ 2 Python https://www.python.org/ 3 Java https://www.java.com/en/Hope you understand the tutorial how to extract the data from JSON file in python and how to fetch specific data from JSON array.
If you have questions please let me know in the comment section I would love to help you with that.