logo

Python | Способи перетворення рядка в об'єкт json

У цій статті ми побачимо різні способи перетворення рядка в JSON у Python. Цей процес називається серіалізацією. Модуль JSON надає функції для кодування (серіалізації) об’єктів Python JSON рядки та декодування (десеріалізація) рядків JSON у Об'єкти Python .

  • Кодування (серіалізація) JSON : Якщо у вас є об’єкт Python і ви хочете перетворити його на рядок JSON, ви можете використовувати json.dumps() функція. Він приймає об’єкт Python як вхідні дані та повертає рядок JSON.
  • Декодування (десеріалізація) JSON : якщо у вас є рядок JSON і ви хочете перетворити його на об’єкт Python, ви можете використовувати json.loads() функція. Він приймає рядок JSON як вхідні дані та повертає об’єкт Python.

Перетворення рядка на об’єкт JSON у Python

Нижче наведено методи перетворення рядків Python на об’єкти JSON:

  • Використання json.loads() метод
  • Використання методу eval().
  • Використання методу ast.literal_eval().

Перетворення рядка на JSON за допомогою методу json.loads() у Python

У цьому прикладі ми перетворимо словник на об’єкт JSON за допомогою json.dump() функція. Потім ми перетворимо рядкове представлення об’єкта JSON у словник за допомогою json.loads() метод.



Python3




import> json> # initialising json object> ini_string>=> {>'nikhil'>:>1>,>'akash'> :>5>,> >'manjeet'> :>10>,>'akshat'> :>15>}> # printing initial json> ini_string>=> json.dumps(ini_string)> print> (>'initial 1st dictionary'>, ini_string)> print> (>'type of ini_object'>,>type>(ini_string))> # converting string to json> final_dictionary>=> json.loads(ini_string)> # printing final result> print> (>'final dictionary'>,>str>(final_dictionary))> print> (>'type of final_dictionary'>,>type>(final_dictionary))>

>

>

Вихід:

initial 1st dictionary {'manjeet': 10, 'nikhil': 1, 'akshat': 15, 'akash': 5} type of ini_object final dictionary {'nikhil': 1, 'manjeet': 10, 'akshat': 15, 'akash': 5} type of final_dictionary>

Перетворення рядка на JSON за допомогою методу eval() у Python

Функція eval() у Python оцінює вхідний вираз як вираз Python і виконує вираз (код) Python у програмі.

приклад

У цьому прикладі ми конвертуємо Python рядок подання до словника за допомогою метод eval(). .

Python3




# initialising json object string> ini_string>=> '''{'nikhil': 1, 'akash' : 5,> >'manjeet' : 10, 'akshat' : 15}'''> # printing initial json> print> (>'initial 1st dictionary'>, ini_string)> print> (>'type of ini_object'>,>type>(ini_string))> # converting string to json> final_dictionary>=> eval>(ini_string)> # printing final result> print> (>'final dictionary'>,>str>(final_dictionary))> print> (>'type of final_dictionary'>,>type>(final_dictionary))>

>

>

Вихід:

initial 1st dictionary {'nikhil': 1, 'akash' : 5, 'manjeet' : 10, 'akshat' : 15} type of ini_object final dictionary {'nikhil': 1, 'manjeet': 10, 'akash': 5, 'akshat': 15} type of final_dictionary>

Перетворіть рядок на JSON за допомогою методу ast.literal_eval().

Метод ast.literal_eval() є частиною модуля ast (абстрактного синтаксичного дерева) у Python. Ця функція оцінює вузол виразу, рядок, що складається з літералу, і перетворює його на об’єкт словника Python.

приклад

Тут ми використаємо метод ast.literal_eval() минулого модуля, щоб перетворити рядкове представлення словника на Python словник . Функція ast.literal_eval аналізує рядок і створює об’єкт словника Python із такими ж властивостями та значеннями. Отриманий об’єкт словника має тип dict. Потім ми можемо отримати доступ до властивостей об’єкта словника за допомогою стандартної нотації доступу до словника (наприклад, dict_obj[name]).

Python3




import> ast> # initialize the string to be converted> string>=> '{'name': 'John', 'age': 30, 'city': 'New York'}'> # use the ast.literal_eval function to parse the string and create a dictionary object> dict_obj>=> ast.literal_eval(string)> # printing final result> print> (>'Initial string dictionary: '>,string)> print> (>'Final dictionary: '>,dict_obj)> print>(>type>(dict_obj))>

>

спробуйте catch block java
>

Вихід:

Initial string dictionary: {'name': 'John', 'age': 30, 'city': 'New York'} Final dictionary: {'name': 'John', 'age': 30, 'city': 'New York'}>