Mielőtt mélyen belemerülnénk a témába, vessünk egy pillantást arra, hogy mik azok a karakterláncok, és mi az a JSON?
Húrok: karakterek sorozata, amelyeket fordított vesszővel jelölünk. Megváltoztathatatlanok, ami azt jelenti, hogy deklarálásuk után nem módosíthatók.
JSON: A „JavaScript Object Notation” rövidítése, a JSON-fájlok olyan szövegből állnak, amelyet az emberek könnyen olvashatnak, és attribútum-érték párok formájában vannak jelen.
A JSON-fájlok kiterjesztése „.json”
Vessünk egy pillantást egy karakterlánc json-ra konvertálására a Pythonban.
A következő program ezt szemlélteti.
hallgassa meg a portot
# converting string to json import json # initialize the json object i_string = {'C_code': 1, 'C++_code' : 26, 'Java_code' : 17, 'Python_code' : 28} # printing initial json i_string = json.dumps(i_string) print ('The declared dictionary is ', i_string) print ('It's type is ', type(i_string)) # converting string to json res_dictionary = json.loads(i_string) # printing the final result print ('The resultant dictionary is ', str(res_dictionary)) print ('The type of resultant dictionary is', type(res_dictionary))
Kimenet:
The declared dictionary is {'C_code': 1, 'C++_code' : 26, 'Java_code' : 17, 'Python_code' : 28} It's type is The resultant dictionary is {'C_code': 1, 'C++_code' : 26, 'Java_code' : 17, 'Python_code' : 28} The type of resultant dictionary is
Magyarázat:
Itt az ideje, hogy lássuk a magyarázatot, hogy a logikánk világossá váljon.
- Mivel itt az a cél, hogy egy karakterláncot json fájllá konvertáljunk, először a json modult importáljuk.
- A következő lépés a json objektum inicializálása, amelyben kulcsként az alany neve szerepel, majd megadjuk a megfelelő értékeket.
- Ezt követően használtuk guba() Python-objektumot json-karakterláncsá alakítani.
- Végül használjuk loads() egy JSON karakterlánc elemzéséhez és szótárrá alakításához.
Az eval()
# converting string to json import json # initialize the json object i_string = ''' {'C_code': 1, 'C++_code' : 26, 'Java_code' : 17, 'Python_code' : 28} ''' # printing initial json print ('The declared dictionary is ', i_string) print ('Its type is ', type(i_string)) # converting string to json res_dictionary = eval(i_string) # printing the final result print ('The resultant dictionary is ', str(res_dictionary)) print ('The type of resultant dictionary is ', type(res_dictionary))
Kimenet:
The declared dictionary is {'C_code': 1, 'C++_code' : 26, 'Java_code' : 17, 'Python_code' : 28} Its type is The resultant dictionary is {'C_code': 1, 'C++_code': 26, 'Java_code': 17, 'Python_code': 28} The type of resultant dictionary is
Magyarázat:
propozíciós logika
Értsük meg, mit tettünk a fenti programban.
- Mivel itt az a cél, hogy egy karakterláncot json fájllá konvertáljunk, először a json modult importáljuk.
- A következő lépés a json objektum inicializálása, amelyben kulcsként a tárgy neve szerepel, majd megadjuk a megfelelő értékeket.
- Ezt követően használtuk eval() hogy egy Python-karakterláncot json-ra konvertáljon.
- A program végrehajtásakor megjelenik a kívánt kimenet.
Értékek lekérése
Végül az utolsó programban lekérjük az értékeket a string json-ba való átalakítása után.
Nézzük meg.
import json i_dict = '{'C_code': 1, 'C++_code' : 26, 'Java_code':17, 'Python_code':28}' res = json.loads(i_dict) print(res['C_code']) print(res['Java_code'])
Kimenet:
1 17
A kimenetben a következő dolgokat figyelhetjük meg:
- A karakterláncot json-ra konvertáltuk a json.loads() segítségével.
- Ezt követően a 'C_code' és 'Java_code' kulcsokat használtuk a megfelelő értékek lekéréséhez.
Következtetés
Ebben az oktatóanyagban megtanultuk, hogyan lehet egy karakterláncot json formátumba konvertálni Python használatával.