JSON CON PYTHON
Mg. Richard E. Mendoza G.
https://www.youtube.com/watch?v=XFTOG895C7c
The Better Parts.
Douglas Crockford.
JS Fest 2018
https://docs.python.org/es/3/library/tk.html
https://jsonlint.com/
https://json.org/
JSON, cuyo nombre corresponde a las siglas JavaScript Object
Notation o Notación de Objetos de JavaScript, es un formato ligero de
intercambio de datos, que resulta sencillo de leer y escribir para los
programadores y simple de interpretar y generar para las máquinas.
¿Qué es JSON?
{
'nombre':'juan',
'edad':22,
'estudios':['primario','secundario']
}
<persona>
<nombre>juan</nombre>
<edad>22</edad>
<estudios>
<estudio>primario</estudio>
<estudio>secundario</estudio>
</estudios>
</persona>
JSON es solo un formato de
datos.
Requiere usar comillas dobles
para las cadenas y los nombres
de propiedades.
Una coma o dos puntos mal
ubicados pueden producir que un
archivo JSON no funcione.
Puede tomar la forma de
cualquier tipo de datos que sea
válido para ser incluido en un
JSON.
Caracteristicas JSON
{
"departamento":8,
"nombredepto":"Ventas",
"director": "Juan Rodríguez",
"empleados":[
{
"nombre":"Pedro",
"apellido":"Fernández"
},{
"nombre":"Jacinto",
"apellido":"Benavente"
}
]
}
Valores JSON
Los tipos de valores que
podemos encontrar en Json son
los siguientes:
• Un número (entero o float)
• Un string (entre comillas
simples)
• Un booleano (true o false)
• Un array (entre corchetes [] )
• Un objeto (entre llaves {})
• Null
Persona='''{
"codigo":"1",
"Nombre":"Pepito",
"Apellido":"Perez",
"Edad":64,
"Telefono": null,
"empleado":true,
"SO":["Windows
10","Ubuntu","Android"]
}'''
Ventajas:
Es autodescriptivo y fácil de
entender.
Su sencillez le ha permitido
posicionarse como alternativa a
XML.
Es más rápido en cualquier
navegador.
Es más fácil de leer que XML.
Es más ligero (bytes) en las
transmisiones.
Se parsea más rápido.
Velocidad de procesamiento alta.
Caracteristicas JSON
Desventajas:
Algunos desarrolladores
encuentran su escueta notación
algo confusa.
No cuenta con una característica
que posee XML: extensibilidad.
No soporta grandes cargas, solo
datos comunes.
Para la seguridad requiere de
mecanismos externos como
expresiones regulares.
De JSON a Python
Leer JSON significa convertir el
JSON en un valor de Python
(objeto). Como hemos
mencionado anteriormente, la
librería json parsea el JSON en
un diccionario o en una lista en
Python. Con el fin de hacer eso,
utilizamos la función loads(), de
la siguiente manera:
import json
jsonDatos = '{"nombre":
"Mario", "edad": 39}'
print(jsonDatos)
print(type(jsonDatos))
jsonAPython =
json.loads(jsonDatos)
print(jsonAPython)
print(type(jsonAPython))
De Python a JSON
En la sección anterior, hemos
visto cómo convertir JSON en
un valor de Python (es decir, en
un diccionario). En esta sección,
se muestra cómo convertir
(codificar) un valor de Python a
JSON.
import json
pythonDiccionario =
{'nombre':'Maria', 'edad':44,
'empleado':True}
diccionarioAJson =
json.dumps(pythonDiccionario)
print(diccionarioAJson)
print(type(diccionarioAJson))
Codificar y decodificar
en archivos
Además, el módulo json provee
las funciones dump y load,
similares a dumps y loads pero
que operan con archivos. Por
ejemplo, podemos almacenar
una lista de Python en un
archivo con el formato JSON:
import json
datos = [True, False, None, 'Hola,
mundo!']
with open("datos.json", "w") as f:
json.dump(datos, f)
with open("datos.json") as f:
datos = json.load(f)
# Imprime [True, False, None, 'Hola,
mundo!'].
print(datos)
Ejemplo con JSON
import json
personas='''
{
"persona": [{
"emp_nombre": "Peter Parker",
"emp_cedula": "88345678",
"emp_correo": ["peterparker@spideman.com"],
"licencia": "false"
}]}'''
datos=json.loads(personas)
print(type(datos['persona']))
for individuo in datos['persona']:
print(individuo['emp_nombre'],individuo['emp_correo'])
for individuo in datos['persona']:
del individuo['emp_cedula']
nueva_cadena=json.dumps(datos)
print(nueva_cadena)
"La mayor mejora de todas en
términos de desempeño es
cuando un sistema pasa de no
funcionar a funcionar.”
John Ousterhout

Semana 7 Proyecto Misión TIC 2022 JSON

  • 1.
    JSON CON PYTHON Mg.Richard E. Mendoza G.
  • 5.
  • 6.
  • 7.
  • 8.
    JSON, cuyo nombrecorresponde a las siglas JavaScript Object Notation o Notación de Objetos de JavaScript, es un formato ligero de intercambio de datos, que resulta sencillo de leer y escribir para los programadores y simple de interpretar y generar para las máquinas. ¿Qué es JSON? { 'nombre':'juan', 'edad':22, 'estudios':['primario','secundario'] } <persona> <nombre>juan</nombre> <edad>22</edad> <estudios> <estudio>primario</estudio> <estudio>secundario</estudio> </estudios> </persona>
  • 9.
    JSON es soloun formato de datos. Requiere usar comillas dobles para las cadenas y los nombres de propiedades. Una coma o dos puntos mal ubicados pueden producir que un archivo JSON no funcione. Puede tomar la forma de cualquier tipo de datos que sea válido para ser incluido en un JSON. Caracteristicas JSON { "departamento":8, "nombredepto":"Ventas", "director": "Juan Rodríguez", "empleados":[ { "nombre":"Pedro", "apellido":"Fernández" },{ "nombre":"Jacinto", "apellido":"Benavente" } ] }
  • 10.
    Valores JSON Los tiposde valores que podemos encontrar en Json son los siguientes: • Un número (entero o float) • Un string (entre comillas simples) • Un booleano (true o false) • Un array (entre corchetes [] ) • Un objeto (entre llaves {}) • Null Persona='''{ "codigo":"1", "Nombre":"Pepito", "Apellido":"Perez", "Edad":64, "Telefono": null, "empleado":true, "SO":["Windows 10","Ubuntu","Android"] }'''
  • 11.
    Ventajas: Es autodescriptivo yfácil de entender. Su sencillez le ha permitido posicionarse como alternativa a XML. Es más rápido en cualquier navegador. Es más fácil de leer que XML. Es más ligero (bytes) en las transmisiones. Se parsea más rápido. Velocidad de procesamiento alta. Caracteristicas JSON Desventajas: Algunos desarrolladores encuentran su escueta notación algo confusa. No cuenta con una característica que posee XML: extensibilidad. No soporta grandes cargas, solo datos comunes. Para la seguridad requiere de mecanismos externos como expresiones regulares.
  • 12.
    De JSON aPython Leer JSON significa convertir el JSON en un valor de Python (objeto). Como hemos mencionado anteriormente, la librería json parsea el JSON en un diccionario o en una lista en Python. Con el fin de hacer eso, utilizamos la función loads(), de la siguiente manera: import json jsonDatos = '{"nombre": "Mario", "edad": 39}' print(jsonDatos) print(type(jsonDatos)) jsonAPython = json.loads(jsonDatos) print(jsonAPython) print(type(jsonAPython))
  • 13.
    De Python aJSON En la sección anterior, hemos visto cómo convertir JSON en un valor de Python (es decir, en un diccionario). En esta sección, se muestra cómo convertir (codificar) un valor de Python a JSON. import json pythonDiccionario = {'nombre':'Maria', 'edad':44, 'empleado':True} diccionarioAJson = json.dumps(pythonDiccionario) print(diccionarioAJson) print(type(diccionarioAJson))
  • 14.
    Codificar y decodificar enarchivos Además, el módulo json provee las funciones dump y load, similares a dumps y loads pero que operan con archivos. Por ejemplo, podemos almacenar una lista de Python en un archivo con el formato JSON: import json datos = [True, False, None, 'Hola, mundo!'] with open("datos.json", "w") as f: json.dump(datos, f) with open("datos.json") as f: datos = json.load(f) # Imprime [True, False, None, 'Hola, mundo!']. print(datos)
  • 15.
    Ejemplo con JSON importjson personas=''' { "persona": [{ "emp_nombre": "Peter Parker", "emp_cedula": "88345678", "emp_correo": ["[email protected]"], "licencia": "false" }]}''' datos=json.loads(personas) print(type(datos['persona'])) for individuo in datos['persona']: print(individuo['emp_nombre'],individuo['emp_correo']) for individuo in datos['persona']: del individuo['emp_cedula'] nueva_cadena=json.dumps(datos) print(nueva_cadena)
  • 16.
    "La mayor mejorade todas en términos de desempeño es cuando un sistema pasa de no funcionar a funcionar.” John Ousterhout