Validar json en python con ejemplos

Hoy aprenderemos a validar datos JSON, porque está siendo utilizado ampliamente, es fácil de entender, compacto y construido con soporte en JavaScript. Muchos sitios comparten datos utilizando JSON además de RSS feeds hoy en día, por eso la importancia de abordar el tema.

Validar json con python
Validar json con python
Índice

¿Qués es JSON?

JSON es la abreviatura de JavaScript Object Notation, y es una manera de almacenar información de forma organizada y fácil acceso. En pocas palabras, nos da una colección legible de datos a los cuales podemos acceder de manera realmente lógica.

Podemos decir que:

  • JSON es una sintaxis para almacenar e intercambiar datos
  • JSON es una alternativa más fácil de utilizar que XML

Ejemplos JSON y XML

En el siguiente ejemplo JSON se define un objeto empleado con una matriz de 3 registros empleados:

{"employees":[

    {"firstName":"John", "lastName":"Doe"},

    {"firstName":"Anna", "lastName":"Smith"},

    {"firstName":"Peter", "lastName":"Jones"}

]}

En el siguiente ejemplo XML también se define un objeto empleado con 3 registros de empleado:

<employees>
<employee>
<firstName>John</firstName> <lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName> <lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName> <lastName>Jones</lastName>
</employee>
</employees>


Al igual que XML:

  • JSON es "legible por el hombre
  • JSON es jerárquico (tiene valores dentro de otros valores)
  • JSON puede ser analizado y utilizado por muchos lenguajes de programación
  • JSON puede ser obtenido con un XMLHttpRequest
A diferencia de XML:
  • JSON no utiliza etiquetas de cierre
  • JSON es más corto
  • JSON es más rápido de leer y escribir
  • JSON puede utilizar matrices

Ejemplos de validación JSON con Python

Para instalar JSON en python pueden utilizar pip (Instalar pip en Linux y Windows)

--pip install json

json.loads() es el método que se utiliza para validar datos JSON

La siguiente función la creamos para validar los datos:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#JSON Validator function
import json
 
def json_validator(data):
    try:
        json.loads(data)
        return True
    except ValueError as error:
        print("invalid json: %s" % error)
        return False

json.loads() carga los datos JSON para analizar, devolverá True o fallará y devolverá una excepción.
En el siguiente código se muestra el ejemplo de validación de datos con JSON

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#Validating JSON using Phython Code
import json
 
def json_validator(data):
    try:
        json.loads(data)
        return True
    except ValueError as error:
        print("invalid json: %s" % error)
        return False
    
 
#Valid JSON Data
""" {
  "actors": {
    "actor": [
      {
        "id": "1",
        "firstName": "Tom",
        "lastName": "Cruise"
      }
    ]
  }
}
"""
 
#Invalid JSON Data
"""
 {
    {
    "actor": [
      {
        "id": "1",
        "firstName": "Tom",
        "lastName": "Cruise"
      }
    ]
  }
}
 """
 
 
print(json_validator('{"actors":{"actor":[{"id":"1","firstName":"Tom","lastName":"Cruise"}]}}' ))#prints True
 
print (json_validator('{{"actor":[{"id":"1","firstName":"Tom","lastName":"Cruise"}]}}')) #prints Error message and False
 
#End

Esto es todo por hoy, espero esta entrada sea de ayuda para sus futuras validaciones JSON con Python

Saludos, Diego

Fuentes:
http://www.w3schools.com/js/js_json_intro.asp
https://www.copterlabs.com/json-what-it-is-how-it-works-how-to-use-it/
http://blog.codebeautify.org/validate-json-using-python/

  1. Eric dice:

    Te felicito Diego ! No habia visto una forma tan clara de entender JSON vs XML. Gracias!

    1. PythonDiario dice:

      Gracias Eric, me pareció práctico y lo compartí!!!
      Gracias por visitar el blog, Saludos

  2. Unknown dice:

    Si piensas usar Python para programacion Web, hay hosting gratis que lo acepten. Como la mayoría es php.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey