La notación de objetos Javascript, abreviada como JSON, es un formato de intercambio de datos ligero. Codifica objetos de Python como strings JSON y decodifica strings JSON en objetos de Python.
- Muchas de las API como Github . enviar sus resultados en este formato. JSON es probablemente el más utilizado para la comunicación entre el servidor web y el cliente en una aplicación AJAX, pero no se limita a ese dominio problemático.
- Por ejemplo, si está tratando de crear un proyecto emocionante como este , debemos formatear la salida JSON para generar los resultados necesarios. Entonces, profundicemos en el módulo json que Python ofrece para formatear la salida JSON.
Funciones
Clases
Las conversiones se basan en esta tabla de conversión .
Implementación
Codificación
Usaremos dump(), dumps() y la clase JSON.Encoder.
#Code will run in Python 3 from io import StringIO import json fileObj = StringIO() json.dump(["Hello", "Geeks"], fileObj) print("Using json.dump(): "+str(fileObj.getvalue())) class TypeEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, type): return str(obj) print("Using json.dumps(): "+str(json.dumps(type(str), cls=TypeEncoder))) print("Using json.JSONEncoder().encode"+ str(TypeEncoder().encode(type(list)))) print("Using json.JSONEncoder().iterencode"+ str(list(TypeEncoder().iterencode(type(dict)))))
Producción:
Using json.dump(): ["Hello", "Geeks"] Using json.dumps(): "" Using json.JSONEncoder().encode" " Using json.JSONEncoder().iterencode['" "']
Decodificación
Usaremos load(), loads() y la clase JSON.Decoder.
#Code will run in Python 3 from io import StringIO import json fileObj = StringIO('["Geeks for Geeks"]') print("Using json.load(): "+str(json.load(fileObj))) print("Using json.loads(): "+str(json.loads('{"Geeks": 1, "for": 2, "Geeks": 3}'))) print("Using json.JSONDecoder().decode(): " + str(json.JSONDecoder().decode('{"Geeks": 1, "for": 2, "Geeks": 3}'))) print("Using json.JSONDecoder().raw_decode(): " + str(json.JSONDecoder().raw_decode('{"Geeks": 1, "for": 2, "Geeks": 3}')))
Producción:
Using json.load(): ['Geeks for Geeks'] Using json.loads(): {'for': 2, 'Geeks': 3} Using json.JSONDecoder().decode(): {'for': 2, 'Geeks': 3} Using json.JSONDecoder().raw_decode(): ({'for': 2, 'Geeks': 3}, 34)
Referencia:
Este artículo es una contribución de Sri Sanketh Uppalapati . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA