私はPythonディクテーションをjsonに変換しようとしていますが、私がアクセスしているAPIはbool値を取らず、代わりに "true"/"false"文字列を使用します。json.dumps()でbool値を文字列に変換する
例:
dct = { "is_open": True }
json.dumps(dct)
現在BOOL出力が得られます。{ "is_open": true }
しかし、私が欲しいのは小文字の文字列の出力です: { "is_open": "true" }
私はjson.dumps(dct, cls=MyEncoder)
を試みたが、それは動作しません。非ネイティブオブジェクトのみがMyEncoderのデフォルトに渡されます。
class MyEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, bool):
return str(o).lower()
return super(MyEncoder, self).default(o)
助けがあれば助かります。
(ところでこれは私がアクセスしてる私のAPIはないので、私が代わりに、文字列の代わりの真偽の値にアクセスするためのAPIを変更することはできません。)
'json.dumps'が '本当' にブール値に変換し、Oデフォルトでは、 '偽の'文字列です。 – Novel
コードを含めることができますか、 '真'と '偽'でない場合にboolをエンコードしようとしていますか... – AlG
"true"と "false"はJSONのブール表現です。 。 – wim