O módulo json é um módulo Starlark de funções relacionadas a JSON.
Membros
decode
unknown json.decode(x, default=unbound)
"null"
,"true"
e"false"
são analisados comoNone
,True
eFalse
.- Os números são analisados como int ou float se contiverem um ponto decimal ou um expoente. Embora o JSON não tenha sintaxe para valores não finitos, valores muito grandes podem ser decodificados como infinito.
- um objeto JSON é analisado como um novo dicionário Starlark descongelado. Se a mesma string de chave ocorrer mais de uma vez no objeto, o último valor da chave será mantido.
- uma matriz JSON é analisada como uma nova lista Starlark descongelada.
x
não for uma codificação JSON válida e o parâmetro opcional default
for especificado (inclusive como None
), essa função retornará o valor default
.
Se x
não for uma codificação JSON válida e o parâmetro opcional default
não for especificado, a função falhará.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
required JSON string para decodificar. |
default
|
o padrão é unbound Se especificado, o valor a ser retornado quando x não pode ser decodificado.
|
encode
string json.encode(x)
A função de codificação aceita um argumento posicional obrigatório, que é convertido em JSON por casos:
- None, True e False são convertidos em "null", "true" e "false", respectivamente.
- Um int, não importa o tamanho, é codificado como um número inteiro decimal. Alguns decodificadores podem não ser capazes de decodificar números inteiros muito grandes.
- Um número flutuante é codificado usando um ponto decimal ou um expoente ou ambos, mesmo que o valor numérico seja um número inteiro. É um erro codificar um valor de ponto flutuante não finito.
- Um valor de string é codificado como um literal de string JSON que indica o valor. Cada alternativo não pareado é substituído por U+FFFD.
- Uma matriz é codificada como um objeto JSON, na ordem das chaves. Ocorrerá um erro se alguma chave não for uma string.
- Uma lista ou tupla é codificada como uma matriz JSON.
- Um valor semelhante a um struct é codificado como um objeto JSON, na ordem de nome de campo.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
. Consulte indent
para ver a descrição dos parâmetros de formatação.
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
obrigatório |
prefix
|
O padrão é '' |
indent
|
O padrão é '\t' |
indent
string json.indent(s, *, prefix='', indent='\t')
Parâmetros
Parâmetro | Descrição |
---|---|
s
|
obrigatório |
prefix
|
O padrão é '' |
indent
|
O padrão é '\t' |