Автор оригинала: Pankaj Kumar.
Здравствуйте, читатели! В этой статье мы будем сосредоточиться на 2 простые способы сериализации и десериализации JSON к объектам в питоне.
Итак, давайте начнем! 🙂.
Что такое JSON?
Просто чтобы дать быстрый обзор, JSON Data является лучшей формой читаемого человеком файла кода. Он хранит значения данных в паре значения ключей. Это, в свою очередь, позволяет нам легко обратиться к данным, вызывая значения ключевых значений.
В том же процессе мы столкнулись с вызовами API и другие источники, через которые мы можем получить сыпучие материалы данных. Те же данные должны быть обработаны в читаемой форме. Это когда формат JSON входит в картинку. Напротив, имея данные JSON с нами, мы часто чувствуем необходимость преобразовать его в объект нативного типа данных для нас для использования в приложении для обработки.
Учитывая вышеупомянутые сценарии, мы представляем вам 2 простых способа для сериализации и десериализовать данные JSON в Python.
Давайте теперь посмотрим на эти методы и получите краткое понимание концепций в предстоящем разделе.
Как сериализовать данные JSON в Python?
Сериализация – это процесс конверсии нативного/первичного типа данных данных в формат JSON. При этом данные обычно в форме Dict, список могут быть преобразованы в формат JSON.
Для того же, Python предлагает нам методы ниже для выполнения сериализации-
- Метод json.dump ()
- Метод python json.dumps ()
1. Метод python json.dump ()
json.dump () Метод Принимает собственные данные основного типа данных в качестве ввода. Кроме того, он обрабатывает данные в формат JSON, а затем сохраняет его в файл json.
Синтаксис:
json.dump(data, file-pointer)
- данные : Данные будут преобразованы в формат JSON.
- указатель файла : Объект, указывающий на файл JSON, в течение которого необходимо хранить данные. Если файл не существует, если создает новый в указанном месте.
Пример:
В этом примере мы преобразовали данные словаря типа JSON и сохранили его в файле data.json с помощью функции json.dump ().
import json info = { "data": { "name": "Johan James", "subject": "Maths", "City": "Pune" } } with open( "data.json" , "w" ) as x: json.dump( info , x )
Выход:
2. Функция Python JSON.dumps ()
JSON.dumps () Метод Принимает значение словаря в качестве ввода и преобразует его в данные JSON. Вместо того, чтобы сохранить его в файле, он хранит данные в формате строки JSON.
import json info = { "data": { "name": "Johan James", "subject": "Maths", "City": "Pune" } } data = json.dumps( info ) print( data )
Выход:
{"data": {"name": "Johan James", "subject": "Maths", "City": "Pune"}}
Как десериализировать JSON на родной объект Python?
Девериализация – это процесс декодирования данных формата JSON в объект собственного типа данных. То есть он преобразует данные JSON в родной тип данных обычно в словаре.
Для того же, Python предлагает нам функции ниже для десериализации объектов JSON
- json.load () Метод
- json.loads () Метод
1. Метод Python json.load ()
С методом json.load () мы можем преобразовать данные строки JSON в объект нативного словаря в Python.
Синтаксис:
json.load(JSON string data)
Пример:
В приведенном ниже примере мы обработали и преобразовали данные JSON в объект словаря, используя функцию json.load ().
import json info = '{"name": "Johan James","subject": "Maths"}' print("Datatype of the unserialized JSON data : " + str(type(info))) res = json.loads(info) print(res) print("Datatype of the serialized JSON data : " + str(type(res)))
Выход:
Datatype of the unserialized JSON data :{'name': 'Johan James', 'subject': 'Maths'} Datatype of the serialized JSON data :
2. Метод Python json.loads ()
С json.loads () Метод , мы можем преобразовать файл JSON в данные на нативных словаре. Для того же, нам нужно пройти указатель файла на функцию json.load (), она обрабатывает данные в месте и результаты в объект данных словаря.
Пример:
В этом примере мы преобразовали данные из файла data.json в объект нативного словаря с использованием метода json.loads ().
import json info = open('data.json',) res = json.load(info) print(res) print("Datatype post deserialization : " + str(type(res)))
Выход:
{'data': {'name': 'Johan James', 'subject': 'Maths', 'City': 'Pune'}} Datatype post deserialization :
Заключение
По этому, мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.
Для более таких постов, связанных с программированием Python, оставайся настроенными нами.
До этого, счастливого обучения !! 🙂.