¿Cuál es la diferencia entre json.dumpsy json.load?
Según tengo entendido, uno carga JSON en un diccionario y otro carga en objetos.
dumps toma un objeto y produce una cadena:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load tomaría un objeto similar a un archivo, leería los datos de ese objeto y usaría esa cadena para crear un objeto:
with open('file.json') as fh:
a = json.load(fh)
Tenga en cuenta que dumpy loadconvertir entre archivos y objetos, mientras que dumpsy loadsconvertir entre cadenas y objetos. Puede pensar en las sfunciones -less como envoltorios alrededor de las sfunciones:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
objecten el sentido de "algo de un tipo que no seastr". Una cadena como'"foo"'se decodifica al objeto Python ; una cadena como se decodifica a la lista de Python , etcstr'foo'"[1,2,3]"[1,2,3]dumps()- codificación de objetos JSONdump()- escritura de cadena codificada en archivoloads()- Decodificar la cadena JSONload()- Decodificar mientras se lee el archivo JSONjson carga -> devuelve un objeto de una cadena que representa un objeto json.
json vuelca -> devuelve una cadena que representa un objeto json de un objeto.
cargar y volcar -> leer / escribir desde / al archivo en lugar de cadena
fuente