SlideShare una empresa de Scribd logo
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

Más contenido relacionado

Similar a Semana 7 Proyecto Misión TIC 2022 JSON

Unidad iii ajax
Unidad iii ajaxUnidad iii ajax
Unidad iii ajax
pared1616
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
K Manuel TN
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
Velmuz Buzz
 

Similar a Semana 7 Proyecto Misión TIC 2022 JSON (20)

Python
PythonPython
Python
 
PYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOSPYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOS
 
Informe Final Del Proyecto Poo
Informe Final Del Proyecto PooInforme Final Del Proyecto Poo
Informe Final Del Proyecto Poo
 
M5_03_JSON_p.pdf
M5_03_JSON_p.pdfM5_03_JSON_p.pdf
M5_03_JSON_p.pdf
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
01-introduccion+json (1).pdf
01-introduccion+json (1).pdf01-introduccion+json (1).pdf
01-introduccion+json (1).pdf
 
Unidad iii ajax
Unidad iii ajaxUnidad iii ajax
Unidad iii ajax
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
Datos
DatosDatos
Datos
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Lectura de un archivo xml de manera local en wp
Lectura de un archivo xml de manera local en wpLectura de un archivo xml de manera local en wp
Lectura de un archivo xml de manera local en wp
 
Java
JavaJava
Java
 
Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03
 
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidiano
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
 
Introduccion a AJAX
Introduccion a AJAXIntroduccion a AJAX
Introduccion a AJAX
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016
 
Mongo db course introduction
Mongo db course   introductionMongo db course   introduction
Mongo db course introduction
 

Más de Richard Eliseo Mendoza Gafaro

Más de Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Último

Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdf
frankysteven
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacion
ctrlc3
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 

Último (20)

Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdf
 
Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdf
 
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworkingErgonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
 
habilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdfhabilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdf
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacion
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continental
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!
 
Presentación PISC Préstamos ISC Final.pdf
Presentación PISC Préstamos ISC Final.pdfPresentación PISC Préstamos ISC Final.pdf
Presentación PISC Préstamos ISC Final.pdf
 
DESVIACION
DESVIACION DESVIACION
DESVIACION
 
monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 

Semana 7 Proyecto Misión TIC 2022 JSON

  • 1. JSON CON PYTHON Mg. Richard E. Mendoza G.
  • 2.
  • 3.
  • 4.
  • 8. 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>
  • 9. 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" } ] }
  • 10. 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"] }'''
  • 11. 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.
  • 12. 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))
  • 13. 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))
  • 14. 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)
  • 15. 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)
  • 16. "La mayor mejora de todas en términos de desempeño es cuando un sistema pasa de no funcionar a funcionar.” John Ousterhout