Python辞書とjsonの異同

2513 ワード

まずpython辞書の構造を見てみましょう.
ab = { 'liu' :'[email protected]', 
        'Larry' : '[email protected]', 
        'Matsumoto' : '[email protected]', 
        'Spammer' : '[email protected]' 
}

jsonデータ形式:
{
  "clusterInfo":
  {
    "id":1324053971963,
    "startedOn":1324053971963,
    "state":"STARTED",
    "resourceManagerVersion":"0.23.1-SNAPSHOT",
    "resourceManagerVersionBuiltOn":"Tue Dec 13 22:12:48 CST 2011",
    "hadoopVersion":"0.23.1-SNAPSHOT",
    "hadoopVersionBuiltOn":"Tue Dec 13 22:12:26 CST 2011"
  }
}

形式から言えば、この2つは確かにkey : valueの形式に似ていることがわかります.では、それらの違いは何ですか.簡単に言えば、python辞書のデータフォーマットはjsonのデータフォーマットです.しかし、本質的には、辞書はデータ構造であり、jsonはフォーマットである.辞書には多くの内蔵関数があり、多くの呼び出し方法がありますが、jsonはデータパッケージのフォーマットであり、辞書が操作性を備えているわけではありません.また、jsonのフォーマットには、keyまたは値の境界記号として二重引用符しか使用できない必要があり、単一引用符は使用できません.また、「key」は境界記号(二重引用符)を使用する必要があります.しかし、辞書はどうでもいい.
形式的な近似もpythonにjsonを提供した.loads()変換関数は、jsonデータの呼び出しを便利にします.使用方法は次のとおりです.
import json
a=json.loads('{"a":"1","b":"2"}')
print a