Python | Načini za pretvorbo niza v objekt json
V tem članku bomo videli različne načine za pretvorbo niza v JSON v Pythonu. Ta postopek se imenuje serializacija. Modul JSON nudi funkcije za kodiranje (serializiranje) objektov Python v JSON nizov in dekodiranje (deserializiranje) nizov JSON v Python objekti .
- Kodiranje (Serializacija) JSON : Če imate predmet Python in ga želite pretvoriti v niz JSON, lahko uporabite json.dumps() funkcijo. Kot vhod vzame objekt Python in vrne niz JSON.
- Dekodiranje (deserializacija) JSON : Če imate niz JSON in ga želite pretvoriti v predmet Python, lahko uporabite json.loads() funkcijo. Kot vhod vzame niz JSON in vrne objekt Python.
Pretvori niz v objekt JSON v Pythonu
Spodaj so metode za pretvorbo nizov Python v objekte JSON:
- Uporaba json.loads() Metoda
- Uporaba metode eval().
- Uporaba metode ast.literal_eval().
Pretvorite niz v JSON z uporabo metode json.loads() v Pythonu
V tem primeru bomo pretvorili slovar v objekt JSON z uporabo json.dump() funkcijo. Nato bomo nizovno predstavitev objekta JSON pretvorili v slovar z uporabo json.loads() metoda.
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))> |
Izhod:
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 Pretvorite niz v JSON z uporabo metode eval() v Pythonu
Funkcija eval() v Pythonu ovrednoti vhodni izraz kot izraz Python in izvede izraz (kodo) Python znotraj programa.
Primer
V tem primeru pretvarjamo Python vrvica predstavitev v slovar z uporabo metoda 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))> |
Izhod:
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 Pretvorite niz v JSON z metodo ast.literal_eval().
Metoda ast.literal_eval() je del modula ast (drevo abstraktne sintakse) v Pythonu. Ta funkcija ovrednoti izrazno vozlišče, niz, sestavljen iz literala, in ga pretvori v objekt slovarja Python.
Primer
Tukaj bomo uporabili metodo ast.literal_eval() preteklega modula za pretvorbo nizovne predstavitve slovarja v Python slovar . Funkcija ast.literal_eval razčleni niz in ustvari objekt slovarja Python z enakimi lastnostmi in vrednostmi. Nastali slovarski objekt ima vrsto dict. Nato lahko dostopamo do lastnosti slovarskega objekta s standardnim zapisom za dostop do slovarja (npr. 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))> |
Izhod:
Initial string dictionary: {'name': 'John', 'age': 30, 'city': 'New York'} Final dictionary: {'name': 'John', 'age': 30, 'city': 'New York'}