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-
- Com que aquí l'objectiu és convertir una cadena en fitxer json, primer importarem el mòdul json.
- 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.
- Després d'això, hem utilitzat abocadors () per convertir un objecte Python en una cadena json.
- 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.
- Com que aquí l'objectiu és convertir una cadena en fitxer json, primer importarem el mòdul json.
- 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.
- Després d'això, hem utilitzat eval() per convertir una cadena de Python a json.
- 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:
- Hem convertit la cadena a json mitjançant json.loads().
- 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.