JsonからDictへ


JSONとは


ウィキペディアによれば、JSONは以下のように整理できる.
JSON(JavaScript Object Notation)は、属性-値ペア(attribute-valueペア)、配列データ型(array data types)、または他のすべての直列可能値(serializable value)、または「キー値ペア」からなるデータ対象を伝達するためのオープン標準フォーマットであり、人間が読むことができるテキストを使用する.非同期ブラウザ/サーバ通信(AJAX)を実現するために、XML(AJAXで使用)に代わる主なデータフォーマットが広い範囲である.特に、インターネットで資料を交換する際、資料を表現する方法で有名です.資料の種類には大きな制限はなく,特にコンピュータプログラムの変数値を表すのに適している.
もともとjavascript言語から派生し、javascriptの構文形式に従っていたが、言語独立のデータフォーマットである.すなわち,プログラミング言語やプラットフォームとは独立しているため,文法解析やJSONデータの生成に用いられるコードは,C,C+,C#,Java,JavaScript,真珠,Pythonなど多くのプログラミング言語で容易に使用できる.
これまでPostmanでよく撮影されていたJSON形式は以下の通り.
{
 "id"             : 1, #int
 "name"           : "Test", #String
 "birth"          : 19890203, #int
 "interests"      : ["코딩", "운동", "음악감상"], #list
 "finance_status" : {"자산" : 100 #dictionary(object)
                     "부채" : 30
                     "자본" : 70
                     } 
 }
以上のようにJSONはJavaScriptに従い、数値(number)、文字列(string)、ブール値(boolean)、オブジェクト(object)、配列(array)、Nullの値であってもよい.

Pythonで


Pythonが提供するタイプはJSONが提供するタイプと1:1で一致するように設計されています.次の表を参照してください.

JSONでは、符号化方式としてUTF-8、16、32を用いることができ、最大の互換性を確保するために用いられる符号化方式はUTF-8である.また、符号化バイト順(BOM)の追加は禁止されている.
PythonでJSONを使用するため、jsonモジュールを使用できます.
JSONはstrまたはbyte形式のみです.辞書で整理して渡すと、次のエラーが発生します.
## JSON이 위 처럼 온다고 가졍

import json

json_content = {
               "id"             : 1,
               "name"           : "Test",
               "birth"          : 19890203,
               "interests"      : ["코딩", "운동", "음악감상"],
               "finance_status" : {"자산" : 100
                                   "부채" : 30
                                   "자본" : 70
                                   } 
               }


json.loads(json_content)
>>>
TypeError: the JSON object must be str, bytes or bytearray, not dict
上の内容を「」に組み合わせてstrに変更します.
import json

json_content = '{
               "id"             : 1,
               "name"           : "Test",
               "birth"          : 19890203,
               "interests"      : ["코딩", "운동", "음악감상"],
               "finance_status" : {"자산" : 100
                                   "부채" : 30
                                   "자본" : 70
                                   } 
               }'

type(json_content)
type(json.loads(json_content))
>>>

<class 'str'>
<class 'dict'>
デフォルトでは、Pythonでjsonモジュールのdumpとdumpsを使用してJSONに変更できます.
公式文書のdumpとdumpの使い方はそれぞれ以下の通りです.
json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
dumpとdumpの違いは、dumpがobjをJSON形式のストリーム書き込み()をサポートするファイルクラスオブジェクトにシリアル化し、dumpがobjをJSON形式のstrにシリアル化することである.
上記のコードに示すように、jsonを読み出す方法は、jsonモジュールのloadおよびloadを使用することができる.loadとloadにもdumpとdumpsの違いがあります.
json.負荷ですね.read()をサポートするテキストファイルまたはバイナリファイルをPythonオブジェクトに逆シーケンス化し、jsonを使用します.loadsはstr、bytes、またはbytearrayインスタンスをPythonオブジェクトに逆シーケンス化します.
使い方は以下の通りです.
json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

長い間議論する.


json dumpではなく、倉庫に内蔵されたdjango.http import JsonResponseを使用します!ほほほ
終わりだ!