Konuya derinlemesine dalmadan önce stringlerin ne olduğuna ve JSON'un ne olduğuna bir göz atalım.
Teller: ters virgül '' kullanılarak gösterilen bir karakter dizisidir. Bunlar değişmezdir, yani beyan edildikten sonra değiştirilemezler.
JSON: 'JavaScript Object Notation' anlamına gelen JSON dosyaları, insanlar tarafından kolaylıkla okunabilen metinlerden oluşur ve nitelik-değer çiftleri halinde bulunur.
JSON dosyalarının uzantısı '.json'dur
Python'da bir dizeyi json'a dönüştürmenin ilk yaklaşımına bir göz atalım.
Aşağıdaki program da aynısını göstermektedir.
plsql
# 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))
Çıktı:
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
Açıklama:
Mantığımızın netleşmesi için açıklamayı görmenin zamanı geldi.
soyut sınıfın yapıcısı olabilir mi
- Burada amaç bir dizeyi json dosyasına dönüştürmek olduğundan, önce json modülünü içe aktaracağız.
- Bir sonraki adım, konu adını anahtar olarak aldığımız json nesnesini başlatmak ve ardından karşılık gelen değerleri belirtmektir.
- Bundan sonra kullandık dökümler() Python nesnesini bir json dizesine dönüştürmek için.
- Son olarak kullanacağımız yükler() bir JSON dizesini ayrıştırmak ve onu bir sözlüğe dönüştürmek için.
eval()'ı kullanma
# 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))
Çıktı:
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
Açıklama:
Yukarıdaki programda ne yaptığımızı anlayalım.
- Burada amaç bir dizeyi json dosyasına dönüştürmek olduğundan, önce json modülünü içe aktaracağız.
- Bir sonraki adım, konu adını anahtar olarak aldığımız json nesnesini başlatmak ve ardından karşılık gelen değerleri belirtmektir.
- Bundan sonra kullandık değerlendirme() Python dizesini json'a dönüştürmek için.
- Programı çalıştırdığınızda istenen çıktıyı görüntüler.
Değerler getiriliyor
Son olarak son programda string'i json'a dönüştürdükten sonra değerleri getireceğiz.
Gelin şuna bir göz atalım.
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'])
Çıktı:
1 17
Çıktıda aşağıdakileri gözlemleyebiliriz.
- Json.loads()'u kullanarak dizeyi json'a dönüştürdük.
- Bundan sonra karşılık gelen değerleri getirmek için 'C_code' ve 'Java_code' anahtarlarını kullandık.
Çözüm
Bu Eğitimde Python kullanarak bir dizeyi json'a nasıl dönüştüreceğimizi öğrendik.