logo

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

>

kako izbrati stolpce iz različnih tabel v sql
>

Izhod:

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