logo

Converteix cadena a JSON a Python

Abans d'aprofundir en el tema, fem una ullada a què són les cadenes i què és JSON?

Cordes: són una seqüència de caràcters que es denoten amb comes invertides ''. Són immutables, el que significa que no es poden canviar un cop declarats.

JSON: significa 'JavaScript Object Notation', els fitxers JSON consisteixen en text que els humans poden llegir fàcilment i està present en forma de parells atribut-valor.

L'extensió dels fitxers JSON és '.json'

Fem una ullada al primer enfocament de convertir una cadena a json a Python.

El programa següent il·lustra el mateix.

executant scripts a linux
 # 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)) 

Sortida:

 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 

Explicació:

És hora de veure l'explicació perquè la nostra lògica es faci clara-

  1. Com que aquí l'objectiu és convertir una cadena en fitxer json, primer importarem el mòdul json.
  2. El següent pas és inicialitzar l'objecte json en el qual tenim el nom del subjecte com a claus i després s'especifiquen els seus valors corresponents.
  3. Després d'això, hem utilitzat abocadors () per convertir un objecte Python en una cadena json.
  4. Finalment, utilitzarem càrregues() per analitzar una cadena JSON i convertir-la en un diccionari.

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

Sortida:

 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 

Explicació:

Entenem què hem fet al programa anterior.

  1. Com que aquí l'objectiu és convertir una cadena en fitxer json, primer importarem el mòdul json.
  2. El següent pas és inicialitzar l'objecte json en el qual tenim el nom del subjecte com a claus i després s'especifiquen els seus valors corresponents.
  3. Després d'això, hem utilitzat eval() per convertir una cadena de Python a json.
  4. En executar el programa, mostra la sortida desitjada.

Obtenció de valors

Finalment, en l'últim programa recuperarem els valors després de la conversió de string a json.

Fem-hi una ullada.

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

Sortida:

cadena json java
 1 17 

Podem observar les coses següents a la sortida:

  1. Hem convertit la cadena a json mitjançant json.loads().
  2. Després d'això, hem utilitzat les claus 'C_code' i 'Java_code' per obtenir els seus valors corresponents.

Conclusió

En aquest tutorial, hem après com convertir una cadena a json mitjançant Python.