JSON de Python

JSON es una sintaxis utilizada para almacenar y intercambiar datos.

JSON se escribe en el formato de notación de objeto de JavaScript (JavaScript object notation) como texto.

JSON en Python

Python tiene un nombre json paquete integrado, se puede usar para procesar datos JSON.

Ejemplo

Importar json Módulo:

import json

Análisis JSON - Convertir JSON a Python

Si hay una cadena JSON, se puede usar json.loads() método para analizarlo.

El resultado será un diccionario Python.

Ejemplo

Convertir JSON a Python:

import json
# Algunos JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'
# Analizar x:
y = json.loads(x)
# El resultado es un diccionario Python:
print(y["age"])

Ejecutar Ejemplo

Convertir Python a JSON

Si tiene un objeto Python, puede usar json.dumps() método para convertirlo a una cadena JSON.

Ejemplo

Convertir Python a JSON:

import json
# Objeto Python (diccionario):
x = {
  "name": "Bill",
  "age": 63,
  "city": "Seatle"
}
# Convertir a JSON:
y = json.dumps(x)
# El resultado es una cadena JSON:
print(y)

Ejecutar Ejemplo

Puede convertir los objetos Python siguientes a una cadena JSON:

  • dict
  • lista
  • tupla
  • cadena
  • entero
  • flotante
  • True
  • False
  • None

Ejemplo

Convertir un objeto Python a una cadena JSON y mostrar el valor:

import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Ejecutar Ejemplo

Al convertir Python a JSON, los objetos Python se convierten en elementos equivalentes de JSON (JavaScript):

Python JSON
dict Objeto
lista Array
tupla Array
str Cadena
entero Número
flotante Número
True true
False false
None null

Ejemplo

Convertir objetos Python que contienen todos los tipos de datos válidos:

import json
x = {
  "name": "Bill",
  "age": 63,
  "married": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}
print(json.dumps(x))

Ejecutar Ejemplo

Formatear el resultado

El ejemplo anterior imprime una cadena JSON, pero no es fácil de leer, sin sangría ni saltos de línea.

json.dumps() El método proporciona parámetros para hacer que el resultado sea más legible:

Ejemplo

Uso indent Parámetros para definir el número de sangría:

json.dumps(x, indent=4)

Ejecutar Ejemplo

También puede definir separadores, el valor predeterminado es (", ", ": "), lo que significa que se utiliza una coma y un espacio para separar cada objeto, y un dos puntos y un espacio para separar las claves de los valores:

Ejemplo

Uso separators Parámetros para cambiar los separadores predeterminados:

json.dumps(x, indent=4, separators=(". ", " = "))

Ejecutar Ejemplo

Ordenar el resultado

json.dumps() El método proporciona un parámetro para ordenar las claves en el resultado:

Ejemplo

Uso sort_keys Parámetros para especificar si se debe ordenar el resultado:

json.dumps(x, indent=4, sort_keys=True)

Ejecutar Ejemplo