Leer, escribir y analizar JSON usando Python

JSON es un formato de datos liviano para el intercambio de datos que los humanos pueden leer y escribir fácilmente, y las máquinas pueden analizar y generar fácilmente. Es un formato de texto completo e independiente del idioma. Para trabajar con datos JSON, Python tiene un paquete integrado llamado json.
 

Example:
s = '{"id":01, "name": "Emily", "language": ["C++", "Python"]}'

La sintaxis de JSON se considera un subconjunto de la sintaxis de JavaScript, que incluye lo siguiente:

  • Pares de nombre/valor: representan datos, el nombre va seguido de ‘:’ (dos puntos) y los pares de nombre/valor están separados por (coma).
  • Llaves: Sostiene objetos.
  • Corchetes: contienen arrays con valores separados por (coma).

Las claves/nombre deben ser strings con comillas dobles y los valores deben ser tipos de datos entre los siguientes: 
 

  • Cuerda
  • Número
  • Objeto (objeto JSON)
  • formación
  • booleano
  • Nulo
Example:
 {
   "employee": [

      {
         "id": "01",
         "name": "Amit",
         "department": "Sales"
      },

      {
         "id": "04",
         "name": "sunil",
         "department": "HR"
      }
   ]
}

Analizar JSON (Convertir de JSON a Python)

El método json.loads() puede analizar una string json y el resultado será un diccionario de Python.
Sintaxis:

json.loads(json_string)

Ejemplo:

Python3

# Python program to convert JSON to Python
  
  
import json
  
# JSON string
employee ='{"id":"09", "name": "Nitin", "department":"Finance"}'
  
# Convert string to Python dict
employee_dict = json.loads(employee)
print(employee_dict)
  
print(employee_dict['name'])

Producción:
 

{'id': '09', 'department': 'Finance', 'name': 'Nitin'}
Nitin

Python lee el archivo JSON

El método json.load() puede leer un archivo que contiene un objeto JSON. Considere un archivo llamado employee.json que contiene un objeto JSON.
Sintaxis:

json.load(file_object)

Ejemplo: Supongamos que el JSON se ve así.

pyhton-append-json1

Queremos leer el contenido de este archivo. A continuación se muestra la implementación.

Python3

# Python program to read
# json file
   
   
import json
   
# Opening JSON file
f = open('data.json',)
   
# returns JSON object as 
# a dictionary
data = json.load(f)
   
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
   
# Closing file
f.close()

Producción:

python-read-json-output1

Aquí, hemos usado la función open() para leer el archivo JSON. Luego, el archivo se analiza usando el método json.load() que nos da un diccionario llamado datos.

Convertir de Python a JSON

El método json.dumps() puede convertir un objeto Python en una string JSON. 
Sintaxis:

json.dumps(dict, indent)

Toma dos parámetros:

  • diccionario: nombre del diccionario que debe convertirse en objeto JSON.
  • sangría – define el número de unidades para la sangría

Ejemplo:
 

Python3

# Python program to convert
# Python to JSON
   
   
import json
   
# Data to be written
dictionary ={
  "id": "04",
  "name": "sunil",
  "department": "HR"
}
   
# Serializing json 
json_object = json.dumps(dictionary, indent = 4)
print(json_object)
Producción

{
    "id": "04",
    "name": "sunil",
    "department": "HR"
}

Producción:
 

{
    "depatment": "HR",
    "id": "04",
    "name": "sunil"
}

Los siguientes tipos de objetos de Python se pueden convertir en strings JSON: 
 

  • dictar
  • lista
  • tupla
  • cuerda
  • En t
  • flotar
  • Verdadero
  • Falso
  • Ninguna

Objetos de Python y su conversión equivalente a JSON:

Python Equivalente JSON
dictar objeto
lista, tupla formación
calle cuerda
int, flotante número
Verdadero verdadero
Falso falso
Ninguna nulo

Escribir JSON en un archivo

El método json.dump() se puede usar para escribir en un archivo JSON.
Sintaxis:

json.dump(dict, file_pointer)

Toma 2 parámetros:

  • diccionario: nombre del diccionario que debe convertirse en objeto JSON.
  • Puntero de archivo: puntero del archivo abierto en modo escribir o agregar.

Python3

# Python program to write JSON
# to a file
   
   
import json
   
# Data to be written
dictionary ={
    "name" : "sathiyajith",
    "rollno" : 56,
    "cgpa" : 8.6,
    "phonenumber" : "9976770500"
}
   
with open("sample.json", "w") as outfile:
    json.dump(dictionary, outfile)

Producción:

python-json-write-to-file

El programa anterior abre un archivo llamado sample.json en modo de escritura usando ‘w’. El archivo se creará si no existe. Json.dump() transformará el diccionario en una string JSON y se guardará en el archivo sample.json.

Publicación traducida automáticamente

Artículo escrito por soumya08 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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