El módulo json es un módulo de Starlark de funciones relacionadas con JSON.
Miembros
decode
unknown json.decode(x, default=unbound)
"null"
,"true"
y"false"
se analizan comoNone
,True
yFalse
.- Los números se analizan como int o como float si contienen un punto decimal o un exponente. Si bien JSON no tiene sintaxis para valores no finitos, los valores muy grandes se pueden decodificar como infinitos.
- Un objeto JSON se analiza como un nuevo diccionario de Starlark no inmutable. Si la misma cadena de clave aparece más de una vez en el objeto, se conserva el último valor de la clave.
- Se analiza un array JSON como una nueva lista de Starlark no inmutable.
x
no es una codificación JSON válida y se especifica el parámetro opcional default
(incluido el especificado como None
), esta función devuelve 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
|
string;
obligatorio Es la cadena JSON que se decodificará. |
default
|
El valor predeterminado es unbound . Si se especifica, es el valor que se devolverá cuando no se pueda decodificar x .
|
encode
string json.encode(x)
La función de codificación acepta un argumento posicional obligatorio, que convierte en JSON según los casos:
- Los valores None, True y False se convierten en "null", "true" y "false", respectivamente.
- Un int, sin importar qué tan grande sea, 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 cadena se codifica como un literal de cadena JSON que denota el valor. Cada suplente no emparejado se reemplaza por U+FFFD.
- Un diccionario se codifica como un objeto JSON, en orden lexicográfico de las claves. Se produce un error si alguna clave no es una cadena.
- 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 nombre de campo.
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
. Consulta indent
para obtener una descripción de los parámetros de formato.
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio |
prefix
|
cadena;
el valor predeterminado es '' |
indent
|
cadena;
el valor predeterminado es '\t' |
sangría
string json.indent(s, *, prefix='', indent='\t')