json

Informar un problema Ver fuente

El archivo JSON del módulo es un módulo de Starlark de funciones relacionadas con JSON.

Miembros

decode

unknown json.decode(x, default=unbound)

La función de decodificación tiene un parámetro posicional obligatorio: una string JSON. Muestra el valor de Starlark que denota la string.
  • "null", "true" y "false" se analizan como None, True y False.
  • Los números se analizan como int o como flotante si contienen un punto decimal o un exponente. Aunque JSON no tiene sintaxis para los valores no finitos, los valores muy grandes se pueden decodificar como infinitos.
  • un objeto JSON se analiza como un nuevo diccionario de Starlark no congelado. Si la misma cadena de clave aparece más de una vez en el objeto, se conserva el último valor de la clave.
  • un array JSON se analiza como una nueva lista de Starlark no congelada.
Si x no es una codificación JSON válida y se especifica el parámetro opcional default (incluido el parámetro None), esta función muestra el valor default. Si x no es una codificación JSON válida y no se especifica el parámetro opcional default, esta función falla.

Parámetros

Parámetro Descripción
x obligatorio
Se decodificará la cadena JSON.
default el valor predeterminado es unbound
Si se especifica, el valor que se muestra cuando no se puede decodificar x.

encode

string json.encode(x)

La función de codificación acepta un argumento posicional obligatorio, que convierte a JSON según los casos:

  • None, True y False se convierten en 'null', 'true' y 'false', respectivamente.
  • Un int, sin importar su tamaño, se codifica como un número entero decimal. Es posible que algunos decodificadores no puedan decodificar números enteros muy grandes.
  • Un número de punto flotante se codifica con un punto decimal o un exponente o ambos, incluso si su valor numérico es un número entero. Es un error codificar un valor de punto flotante no finito.
  • Un valor de string se codifica como un literal de string JSON que denota el valor. Cada subrogado desincronizado se reemplaza por U+FFFD.
  • Un dict se codifica como un objeto JSON, en orden de clave. Si alguna clave no es una string, es un error.
  • Una lista o tupla se codifica como un array JSON.
  • Un valor similar a una estructura se codifica como un objeto JSON, en orden de nombres de campo.
Un tipo definido por la aplicación puede definir su propia codificación JSON. La codificación de cualquier otro valor genera un error.

Parámetros

Parámetro Descripción
x obligatorio

encode_indent

string json.encode_indent(x, *, prefix='', indent='\t')

La función encode_indent es equivalente a json.indent(json.encode(x), ...). Consulta indent para ver la descripción de los parámetros de formato.

Parámetros

Parámetro Descripción
x obligatorio
prefix la configuración predeterminada es ''
indent la configuración predeterminada es '\t'

sangría

string json.indent(s, *, prefix='', indent='\t')

La función de sangría muestra el formato con sangría de una string válida codificada en JSON. Cada campo de objeto o elemento del array aparece en una línea nueva. Comienza con la cadena de prefijo seguida de una o más copias de la cadena de sangría, según su profundidad de anidación. La función acepta un parámetro posicional obligatorio, la string JSON y dos parámetros opcionales de string de solo palabras clave, prefijo y sangría, que especifican un prefijo para cada línea nueva y la unidad de sangría. Si la entrada no es válida, la función puede fallar o mostrar un resultado no válido.

Parámetros

Parámetro Descripción
s obligatorio
prefix la configuración predeterminada es ''
indent la configuración predeterminada es '\t'