RuntimeEncoder
class RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)
ベース: JSONEncoder
ランタイム・サービスが使用するJSONエンコーダ。
JSONEncoderのコンストラクタ。
skipkeysがfalseの場合、str、int、float、Noneでないキーのエンコードを試みるのは TypeError。 skipkeys が True の場合、そのような項目は単にスキップされる。
secure_asciiがtrueの場合、入力される非ASCII文字がすべてエスケープされたstrオブジェクトが出力されることが保証される。 secure_asciiがfalseの場合、出力に非ASCII文字を含めることができる。
check_circularがtrueの場合、リスト、ディク ト、カスタム・エンコードされたオブジェクトはエンコード中に循環 参照をチェックされ、無限再帰( RecursionError )を防ぐ。 そうでなければ、そのようなチェックは行われない。
allow_nan がtrueの場合、 NaN, Infinity, -Infinityはそのようにエンコードされる。 この動作はJSON仕様に準拠していないが、ほとんどの JavaScript ベースのエンコーダーとデコーダーと一致している。 そうでなければ、このような浮動小数点数をエンコードするのは ValueError。
sort_keysがtrueの場合、辞書の出力はキーでソートされる。これは、JSONシリアライゼーションが日常的に比較できることを保証する回帰テストに役立つ。
インデントが負でない整数の場合、JSON配列の要素とオブジェクトのメンバは、そのインデントレベルでプリティプリントされます。 インデントレベルを0にすると、改行のみが挿入される。 最もコンパクトな表現はない。
指定された場合、separatorsは(item_separator, key_separator)タプルになる。 デフォルトは、 インデントが None の場合は (', ', ': ')、それ以外の場合は (',', ': ')である。 最もコンパクトなJSON表現を得るには、(',', ':') を指定して空白をなくすべきである。
指定された場合、defaultはシリアライズできないオブジェクトに対して呼び出される関数です。 オブジェクトのJSONエンコード可能バージョンを返すか、 TypeError。
属性
item_separator
デフォルト値: ', '
key_separator
デフォルト値: ': '
方法
default
encode
encode(o)
Python データ構造の JSON 文字列表現を返す。
>>> from json.encoder import JSONEncoder
>>> JSONEncoder().encode({"foo": ["bar", "baz"]})
'{"foo": ["bar", "baz"]}'iterencode
iterencode(o, _one_shot=False)
与えられたオブジェクトをエンコードし、利用可能な各文字列表現を返す。
例:
for chunk in JSONEncoder().iterencode(bigobject):
mysocket.write(chunk)