Форматирование JSON в Python

JSON (обозначение объектов Java Script) — это упрощенный, общепринятый формат обмена данными. Используя методы форматирования JSON в Python, мы можем преобразовывать строки JSON в объекты Python, а также преобразовывать объекты Python в строки JSON.

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

 import json 

Преобразование объектов Python в строку JSON

Модуль json имеет несколько методов, таких как dump ( ) и dumps() для преобразования объектов Python в строки JSON. Метод dump() принимает два аргумента: первый объект &file и второй объект &file. Этот метод сериализует объект как поток JSON для файловых объектов. Точно так же метод dumps() принимает только один аргумент. Аргумент является объектом. Он преобразует объекты в строку JSON.




< script async src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6959883099270890" crossorigin = " аноним">

Пример кода

 import json from io import StringIO str_io_obj = StringIO ( ) #Используйте дамп JSON для создания StringIO json.dump (["Индия", "Австралия", "Бразилия"], str_io_obj) print (’Значение объекта StringIO : ’+ str (str_io_obj.getvalue ())) my_json = {" имя": "Калян", "возраст": 25, "город": "Дели"} print(json.dumps(my_json, indent=4)) 

Вывод

 Значение объекта StringIO: ["Индия", "Австралия", "Бразилия"] {"имя" : "Калян", "возраст": 25, "город": " Delhi"} 

Преобразование строк JSON в объекты Python

В этом случае мы десериализуем строки JSON. Есть два разных метода. Это load() и load(). Оба этих метода принимают файл JSON в качестве аргумента. load() преобразует в объекты Python из данных файловых объектов, а load() преобразует из строковых данных.

Пример кода

 import json from io import StringIO str_io_obj = StringIO (’ ["xyz", "abc", "xyz", "pqr"] ’) #load from StringIO print (’ Load: ’+ str (json.load (str_io_obj ))) print (’String to Json:’ + str (json.loads (’{" xyz ":1","abc":2,"xyz":3,"pqr":4}’))) 

Вывод

 Загрузка: [’xyz’,’ abc’, ’xyz’,’ pqr’] Строка в Json: {’xyz’: 3,’ abc’: 2, ’pqr’: 4} 

Классы кодирования и декодирования Python JSON

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

Пример кода

 import json class Comp_Encoder (json.JSONEncoder): def default (self, comp_obj): if isinstance (comp_obj, сложный): return [comp_obj.real, comp_obj.imag] return json.JSONEncoder.default (self, comp_obj) print (json.dumps (5 + 8j, cls = Comp_Encoder)) 

Вывод

 [5.0, 8.0] 

Класс JSONDecoder делает обратное.

Пример кода

 import json my_str = ’{" Asim " : 25, "Priyesh": 23, "Asim ":"28"} ’#Декодировать JSON с помощью JSONDecoder print (json.JSONDecoder(). Decode (my_str)) print (json.JSONDecoder(). Raw_decode (my_str)) 

Output

 {’Асим’:’ 28’, ’Приеш’: 23} ({’ А сим’: ’28’,’ Приеш’: 23} , 44) 



Мы надеемся, что эта статья помогла вам решить проблему. Помимо Форматирование JSON в Python, проверьте другие темы, связанные с Python functions.

Хотите преуспеть в Python? Посмотрите наш обзор лучших онлайн-курсов Python 2023. Если вас интересует наука о данных, узнайте также, как изучить программирование на R.

Кстати, этот материал доступен и на других языках:



Cornwall Richtgofen

Prague | 2023-02-07

Может быть, есть другие ответы? Что Форматирование JSON в Python именно означает?. Я просто не совсем уверен, что это лучший метод

Ken Schteiner

Shanghai | 2023-02-07

Просто и ясно. Спасибо, что поделились. Форматирование JSON в Python и другие вопросы с Python functions всегда были моим слабым местом 😁.. Я просто надеюсь, что эта проюлема больше не возникнет

Angelo Emmerson

Rome | 2023-02-07

Python functions всегда немного напрягает 😭 Форматирование JSON в Python это не единственная проблема, с которой я столкнулся. Я просто надеюсь, что эта проюлема больше не возникнет

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically