python 3解析JSONのdemjson
1096 ワード
pythonをインストールした後に持参したjson解析ライブラリ
JSON関数を使用するには、jsonライブラリ:import jsonをインポートする必要があります.
json.dumps
PythonオブジェクトをJSON文字列に符号化
json.loads
エンコードされたJSON文字列をPythonオブジェクトに復号
しかし、標準ではないJSONに遭遇することがあります.これはこのライブラリでは解析できません.例:
注意深い友达はここの“キー”が引用符がなくて“値”だけが引用符があることを見ることができます.
ではどうすればdemjsonを使って解析できます
インストール:
encode
PythonオブジェクトをJSON文字列に符号化
decode
エンコードされたJSON文字列をPythonオブジェクトに復号
しかし、demjsonとjsonは、jsonオブジェクトをpythonオブジェクトに変換すると中国語がunicode形式になることに注目してください.これは今後のデータ処理に多くの不要な面倒をもたらす.
例:"u 5 c 71u 6 d 77u 5 e 08"
このフィールドを条件で検索すると、見つからないことがわかります.
処理方法は辞書の中国語の正しい出力をlistをjson文字列に変換し、変換時に使用することです.
パラメータensure_ascii=Falseは少なくできません.encodingは省略できます.デフォルトはencoding='utf-8ですから.
JSON関数を使用するには、jsonライブラリ:import jsonをインポートする必要があります.
json.dumps
PythonオブジェクトをJSON文字列に符号化
json.loads
エンコードされたJSON文字列をPythonオブジェクトに復号
しかし、標準ではないJSONに遭遇することがあります.これはこのライブラリでは解析できません.例:
{0:"000001_Unit_1. Hi,Birdie.mp3",1:"000005_Unit_2. Good morning,Miss Wang..mp3",2:"000008_Unit_3. What's your name_.mp3"}
注意深い友达はここの“キー”が引用符がなくて“値”だけが引用符があることを見ることができます.
ではどうすればdemjsonを使って解析できます
インストール:
pip install demjson
encode
PythonオブジェクトをJSON文字列に符号化
decode
エンコードされたJSON文字列をPythonオブジェクトに復号
しかし、demjsonとjsonは、jsonオブジェクトをpythonオブジェクトに変換すると中国語がunicode形式になることに注目してください.これは今後のデータ処理に多くの不要な面倒をもたらす.
例:"u 5 c 71u 6 d 77u 5 e 08"
このフィールドを条件で検索すると、見つからないことがわかります.
処理方法は辞書の中国語の正しい出力をlistをjson文字列に変換し、変換時に使用することです.
json.dumps(d, ensure_ascii=False, encoding='utf-8'))
パラメータensure_ascii=Falseは少なくできません.encodingは省略できます.デフォルトはencoding='utf-8ですから.