を使用して、Python オブジェクトを JSON にシリアル化しようとしていますjson.dumps
。dict
usingをシリアライズするjson.dumps
と、明らかに JSON ディクショナリとしてシリアライズされます{..}
。list
aまたは aをシリアル化tuple
すると、JSON 配列になります。
dict
可能であれば、Pythonを JSON として簡単にシリアル化する方法があるかどうかを知りたいですlist
。可能であれば、キーが 0 から始まり、順序付けされているかどうかを意味します。たとえば、次のようになります。
{0:'data',1:'data',2:'data}
上記は JSON に as: としてシリアル化されますが、キーは 0 から始まり、順序付けられているため、 as: としてシリアル化し'{"0": "data", "1": "data", "2": "data"}'
たいと思います。['data','data','data']
これについての私の理由は、PHP からシリアル化された JSON データがたくさんあるためです。PHP 配列にはキーがあり、キーが上記のようにjson.encode
順序付けられている場合、PHP は配列を使用し、他の方法でキーが付けられている場合はシリアル化されます。 JSON辞書として。PHP と Python の両方のコードで、JSON シリアライゼーションを一致させたいと考えています。残念ながら、私の場合、PHP コードを変更することはできません。
助言がありますか?list
私が見つけた唯一の解決策は、独自の関数を作成して、各 python 辞書を調べて検証し、最初にbeforeに変換できるかどうかを確認することjson.dumps
です。
EDIT :私がシリアライズしているこのオブジェクトは、 alist
または adict
である可能性があり、その中に追加のディクテーションやリストなどを含めることができます(ネスト)。これを行う「簡単な」方法があるかどうか疑問に思っています。そうでない場合は、自分で再帰的なソリューションを作成できると思います。しかし、より多くのバグを避けるために、既存のコードを使用する方が常に優れています。