La forma completa de JSON es la notación de objetos de JavaScript. Significa que un archivo de secuencia de comandos (ejecutable) que está hecho de texto en un lenguaje de programación se utiliza para almacenar y transferir los datos. Python admite JSON a través de un paquete integrado llamado json
. Para usar esta función, importamos el paquete json en el script de Python. El texto en JSON se realiza a través de una string entre comillas que contiene el valor en el mapeo de clave-valor dentro de { }
. Es similar al diccionario en Python.
json.dump()
json
El módulo en el módulo de Python proporciona un método llamado dump()
que convierte los objetos de Python en objetos json apropiados. Es una ligera variante del dumps()
método.
Diferencia entre dump() y dumps()
vertedero() | deshecho() |
---|---|
El método dump() se utiliza cuando los objetos de Python deben almacenarse en un archivo. | El dumps() se usa cuando se requiere que los objetos estén en formato de string y se usa para analizar, imprimir, etc. |
dump() necesita el nombre del archivo json en el que la salida debe almacenarse como argumento. | El dumps() no requiere que se pase ningún nombre de archivo de este tipo. |
Este método escribe en la memoria y luego el comando para escribir en el disco se ejecuta por separado | Este método escribe directamente en el archivo json |
Método más rápido | 2 veces más lento |
dump() y sus argumentos
Sintaxis: json.dump(d, skipkeys=Falso, asegurar_ascii=Verdadero, check_circular=Verdadero, allow_nan=Verdadero, cls=Ninguno, sangría=Ninguno, separadores=Ninguno)
Parámetros:
- sangría: mejora la legibilidad del archivo json. Los posibles valores que se pueden pasar a este parámetro son simplemente comillas dobles(
""
), cualquier valor entero. Las comillas dobles simples hacen que cada par clave-valor aparezca en una nueva línea.Ejemplo:
import
json
# python object(dictionary) to be dumped
dict1
=
{
"emp1"
: {
"name"
:
"Lisa"
,
"designation"
:
"programmer"
,
"age"
:
"34"
,
"salary"
:
"54000"
},
"emp2"
: {
"name"
:
"Elis"
,
"designation"
:
"Trainee"
,
"age"
:
"24"
,
"salary"
:
"40000"
},
}
# the json file where the output must be stored
out_file
=
open
(
"myfile.json"
,
"w"
)
json.dump(dict1, out_file, indent
=
6
)
out_file.close()
Producción:
- skipkeys: si la clave no es de tipos estándar permitidos como int, float, string, None o bool, se generará un error al descargarlos. Para evitar que si este parámetro se establece en true .
Ejemplo:
import
json
# python object(dictionary) to be dumped
dict1
=
{
(
'addresss'
,
'street'
):
'Brigade road'
,
}
# the json file where the output must be stored
out_file
=
open
(
"myfile.json"
,
"w"
)
json.dump(dict1, out_file, indent
=
6
)
out_file.close()
Producción:
Si skipkeys no se establece en verdadero, se generará el siguiente error:
- separador: Este parámetro toma uno o dos valores. El primer valor especifica el símbolo que separa un par clave-valor de otro. El siguiente especifica el símbolo que separa el valor de su clave.
- sort_keys: este parámetro toma valor booleano. Si se establece en True, las claves se establecen en orden ascendente; de lo contrario, aparecen como en el objeto de Python
- asegurar_ascii: este parámetro también toma solo valores booleanos. Si no se establece en verdadero, los caracteres que no son ASCII se vuelcan en el archivo de salida tal como están. Por defecto el valor es true .
Vea los dos códigos a continuación para obtener la diferencia.
Ejemplo 1:
# dictionary to be dumped
d
=
{
'lang'
:
'??? ????'
}
with
open
(
'myfile.json'
,
'w'
, encoding
=
'utf8'
) as json_file:
json.dump(d, json_file, ensure_ascii
=
False
)
Producción:
Ejemplo 2: si se establece en True, el contenido del archivo json será:
import
json
# dictionary to be dumped
d
=
{
'lang'
:
'??? ????'
}
with
open
(
'myfile.json'
,
'w'
, encoding
=
'utf8'
) as json_file:
json.dump(d, json_file, ensure_ascii
=
True
)
Producción:
- allow_nan: ayuda a serializar el rango de valores flotantes.
Ejemplo 1:
import
json
# dictionary to be dumped
d
=
{
'a'
:
1
,
'x'
:
float
(
'nan'
)
}
with
open
(
'myfile.json'
,
'w'
, encoding
=
'utf8'
) as json_file:
json.dump(d, json_file, allow_nan
=
False
)
Producción:
Ejemplo 2: Si se establece en True, no se generará el error. El contenido en el archivo json será:
import
json
# dictionary to be dumped
d
=
{
'a'
:
1
,
'x'
:
float
(
'nan'
)
}
with
open
(
'myfile.json'
,
'w'
, encoding
=
'utf8'
) as json_file:
json.dump(d, json_file, allow_nan
=
True
)
Producción:
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA