logo

Python'da dizeyi JSON'a dönüştürün

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
  1. Burada amaç bir dizeyi json dosyasına dönüştürmek olduğundan, önce json modülünü içe aktaracağız.
  2. 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.
  3. Bundan sonra kullandık dökümler() Python nesnesini bir json dizesine dönüştürmek için.
  4. 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.

  1. Burada amaç bir dizeyi json dosyasına dönüştürmek olduğundan, önce json modülünü içe aktaracağız.
  2. 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.
  3. Bundan sonra kullandık değerlendirme() Python dizesini json'a dönüştürmek için.
  4. 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.

  1. Json.loads()'u kullanarak dizeyi json'a dönüştürdük.
  2. 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.