Python | Veidi, kā pārvērst virkni par json objektu

Šajā rakstā mēs redzēsim dažādus veidus, kā pārvērst virkni JSON programmā Python, šo procesu sauc par serializāciju. JSON modulis nodrošina funkcijas Python objektu kodēšanai (serializēšanai). JSON virknes un dekodējot (deserializējot) JSON virknes Python objekti .

  • Kodēšana (serializēšana) JSON : ja jums ir Python objekts un vēlaties to pārveidot par JSON virkni, varat izmantot json.dumps() funkciju. Tas izmanto Python objektu kā ievadi un atgriež JSON virkni.
  • JSON dekodēšana (deserializēšana). : ja jums ir JSON virkne un vēlaties to pārvērst par Python objektu, varat izmantot json.loads() funkciju. Tas izmanto JSON virkni kā ievadi un atgriež Python objektu.

Pārveidojiet virkni par JSON objektu programmā Python

Tālāk ir norādītas metodes, kā pārvērst Python virknes JSON objektos.

  • Izmantojot json.loads() Metode
  • Izmantojot eval() metodi
  • Izmantojot ast.literal_eval() metodi

Pārveidojiet virkni par JSON, izmantojot json.loads() metodi programmā Python

Šajā piemērā mēs pārveidosim vārdnīcu par JSON objektu, izmantojot json.dump() funkciju. Pēc tam mēs pārveidosim JSON objekta virknes attēlojumu vārdnīcā, izmantojot json.loads() metodi.

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))>

Izvade:

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 

Pārveidojiet virkni uz JSON, izmantojot eval() metodi Python

Funkcija eval() programmā Python novērtē izteiksmes ievadi kā Python izteiksmi un programmā izpilda Python izteiksmi (kodu).

Piemērs

Šajā piemērā mēs konvertējam Python virkne attēlošana vārdnīcā, izmantojot eval() metode .

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))>

Izvade:

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 

Konvertējiet virkni uz JSON, izmantojot metodi ast.literal_eval().

Metode ast.literal_eval() ir daļa no Python moduļa ast (abstract sintakses koks). Šī funkcija novērtē izteiksmes mezglu, virkni, kas sastāv no literāla, un pārvērš to par Python vārdnīcas objektu.

Piemērs

Šeit mēs izmantosim iepriekšējā moduļa metodi ast.literal_eval(), lai pārvērstu vārdnīcas virknes attēlojumu uz Python. vārdnīca . Funkcija ast.literal_eval parsē virkni un izveido Python vārdnīcas objektu ar tādām pašām īpašībām un vērtībām. Iegūtajam vārdnīcas objektam ir sava veida diktāts. Pēc tam mēs varam piekļūt vārdnīcas objekta rekvizītiem, izmantojot standarta vārdnīcas piekļuves apzīmējumu (piemēram, 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))>

Izvade:

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