O módulo json é um módulo Starlark de funções relacionadas a JSON.
Membros
decode
unknown json.decode(x, default=unbound)
A função de decodificação tem um parâmetro posicional obrigatório: uma string JSON.
Ela retorna o valor Starlark que a string denota.
"null", "true" e "false" são analisados como None, True e False.
- Os números são analisados como int ou como um 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 infinitos.
- Um objeto JSON é analisado como um novo dicionário Starlark não congelado. 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 não congelada.
Se
x não for uma codificação JSON válida e o parâmetro
default opcional for especificado (incluindo especificado como
None), essa função retornará o valor
default.
Se
x não for uma codificação JSON válida e o parâmetro
default opcional for
não especificado, essa função falhará.
Parâmetros
| Parâmetro |
Descrição |
x
|
obrigatório
String JSON a ser decodificada.
|
default
|
o padrão é unbound
Se especificado, o valor a ser retornado quando x não puder ser decodificado.
|
encode
string json.encode(x)
A função de codificação aceita um argumento posicional obrigatório, que ela converte 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 conseguir decodificar números inteiros muito grandes.
- Um float é 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 denota o valor. Cada substituto não pareado é substituído por U+FFFD.
- Um dicionário é codificado como um objeto JSON, na ordem das chaves. É um erro se alguma chave não for uma string.
- Uma lista ou tupla é codificada como uma matriz JSON.
- Um valor semelhante a uma struct é codificado como um objeto JSON, na ordem do nome do campo.
Um tipo definido pelo aplicativo pode definir a própria codificação JSON.
A codificação de qualquer outro valor gera um erro.
Parâmetros
| Parâmetro |
Descrição |
x
|
obrigatório
|
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
A função encode_indent é equivalente a
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')
A função de indentação retorna a forma indentada de uma string codificada em JSON válida.
Cada elemento de matriz ou campo de objeto aparece em uma nova linha, começando com a string de prefixo seguida por uma ou mais cópias da string de indentação, de acordo com a profundidade de aninhamento.
A função aceita um parâmetro posicional obrigatório, a string JSON,
e dois parâmetros de string somente de palavra-chave opcionais, prefixo e indentação,
que especificam um prefixo de cada nova linha e a unidade de indentação.
Se a entrada não for válida, a função poderá falhar ou retornar uma saída inválida.
Parâmetros
| Parâmetro |
Descrição |
s
|
obrigatório
|
prefix
|
o padrão é ''
|
indent
|
o padrão é '\t'
|