RuntimeEncoder
class RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)
Bases: JSONEncoder
Codificador JSON usado pelo serviço de tempo de execução.
Construtor para JSONEncoder, com padrões sensatos.
Se skipkeys for false, então é uma TypeError tentativa de codificação de chaves que não sejam str, int, float ou None. Se skipkeys for True, esses itens serão simplesmente ignorados.
Se ensure_ascii for verdadeiro, a saída será garantida como objetos str com todos os caracteres não ASCII de entrada escapados. Se ensure_ascii for falso, a saída poderá conter caracteres não ASCII.
Se check_circular for verdadeiro, listas, ditados e objetos codificados personalizados serão verificados quanto a referências circulares durante a codificação para evitar uma recursão infinita (o que causaria um RecursionError ). Caso contrário, essa verificação não ocorrerá.
Se allow_nan for verdadeiro, então NaN, Infinity e -Infinity serão codificados como tal. Esse comportamento não é compatível com a especificação JSON, mas é consistente com a maioria dos codificadores e decodificadores baseados em JavaScript. Caso contrário, será um ValueError para codificar esses floats.
Se sort_keys for verdadeiro, a saída dos dicionários será classificada por chave; isso é útil para testes de regressão para garantir que as serializações de JSON possam ser comparadas diariamente.
Se indent for um número inteiro não negativo, os elementos da matriz JSON e os membros do objeto serão impressos com esse nível de indentação. Um nível de recuo de 0 insere apenas novas linhas. Nenhuma é a representação mais compacta.
Se especificado, os separadores devem ser uma tupla (item_separator, key_separator). O padrão é (', ', ': ') se o recuo for None e (',', ': ') caso contrário. Para obter a representação JSON mais compacta, você deve especificar (',', ':') para eliminar os espaços em branco.
Se especificado, o padrão é uma função que é chamada para objetos que não podem ser serializados de outra forma. Ele deve retornar uma versão codificável em JSON do objeto ou gerar um TypeError.
Atributos
item_separator
Valor Padrão: ', '
key_separator
Valor Padrão: ': '
Métodos
default
default(obj)
Retorna um objeto serializável para obj.
Parâmetros
obj (Any)
Tipo de retorno
Qualquer
encode
encode(o)
Retorna uma representação de string JSON de uma estrutura de dados Python.
>>> from json.encoder import JSONEncoder
>>> JSONEncoder().encode({"foo": ["bar", "baz"]})
'{"foo": ["bar", "baz"]}'iterencode
iterencode(o, _one_shot=False)
Codifica o objeto fornecido e produz cada representação de cadeia de caracteres conforme disponível.
Por exemplo:
for chunk in JSONEncoder().iterencode(bigobject):
mysocket.write(chunk)