以下是我做的对于python中模块的demo

Python 3.3.2 (v3.3.2:d047928ae3f6,May 16 2013,00:03:43) [MSC v.1600 32, >>> ================================ RESTART ================================
>>>JSON(JavaScript Object Notation)是一种轻量级的数据交换
格式。易于人阅读和编写,同时也易于机器解析和生成。

在python中,json模块提供的dumps()方法可以对简单的数据进行编码:
</span><span style="color: #0000ff;"&gt;import</span><span style="color: #000000;"&gt; json

obj </span>= [[<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;a</span><span style="color: #800000;"&gt;'</span>,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;b</span><span style="color: #800000;"&gt;'</span>,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;c</span><span style="color: #800000;"&gt;'</span>],1,3,4,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;good</span><span style="color: #800000;"&gt;'</span>,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;boy</span><span style="color: #800000;"&gt;'</span>,(88,42,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;hongten</span><span style="color: #800000;"&gt;'</span>),{<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;name</span><span style="color: #800000;"&gt;'</span> : <span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;hongten</span><span style="color: #800000;"&gt;'</span><span style="color: #000000;"&gt;}]
encodedjson </span>=<span style="color: #000000;"&gt; json.dumps(obj)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(repr(obj))
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(encodedjson)

</span><span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;输出:</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;[['a','b','c'],'good','boy','hongten'),{'name': 'hongten'}]</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;[["a","b","c"],"good","boy",[88,"hongten"],{"name": "hongten"}]</span>

<span style="color: #000000;">
objA =<span style="color: #000000;"> [True,False,None]
encodedjsonA =<span style="color: #000000;"> json.dumps(objA)
<span style="color: #0000ff;">print<span style="color: #000000;">(repr(objA))
<span style="color: #0000ff;">print<span style="color: #000000;">(encodedjsonA)

</span><span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;输出:</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;[True,None]</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;[true,false,null]</span>

<span style="color: #000000;">
在json的编码过程中,会存在从python原始类型向json类型的转换过程,具体的转换
如下:

    python      </span>--><span style="color: #000000;"&gt;           json
    dict                      object
    list,tuple                array
    str,unicode               string
    int,long,float            number
    True                      true
    False                     false
    None                      null

json转换为python数据类型:
</span><span style="color: #0000ff;"&gt;import</span><span style="color: #000000;"&gt; json
testB </span>= <span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;hongten</span><span style="color: #800000;"&gt;'</span><span style="color: #000000;"&gt;
dump_test </span>=<span style="color: #000000;"&gt; json.dumps(testB)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(testB)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(dump_test)
load_test </span>=<span style="color: #000000;"&gt; json.loads(dump_test)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(load_test)

</span><span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;输出:</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;hongten</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;"hongten"</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;hongten</span>

<span style="color: #000000;">
而json转换为python类型的时候,调用的是json.loads()方法,按照如下规则转换的:

    json        </span>--><span style="color: #000000;"&gt;           python
    object                    dict
    array                     list
    string                    str
    number(int)               int
    number(real)              float
    true                      True
    false                     False
    null                      None

排序功能使得存储的数据更加有利于观察,也使得对json输出的对象进行比较:
</span><span style="color: #0000ff;"&gt;import</span><span style="color: #000000;"&gt; json
data1 </span>= {<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;b</span><span style="color: #800000;"&gt;'</span>:789,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;c</span><span style="color: #800000;"&gt;'</span>:456,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;a</span><span style="color: #800000;"&gt;'</span>:123<span style="color: #000000;"&gt;}
data2 </span>= {<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;a</span><span style="color: #800000;"&gt;'</span>:123,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;b</span><span style="color: #800000;"&gt;'</span>:789,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;c</span><span style="color: #800000;"&gt;'</span>:456<span style="color: #000000;"&gt;}
d1 </span>= json.dumps(data1,sort_keys=<span style="color: #000000;"&gt;True)
d2 </span>=<span style="color: #000000;"&gt; json.dumps(data2)
d3 </span>= json.dumps(data2,sort_keys=<span style="color: #000000;"&gt;True)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(d1)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(d2)
</span><span style="color: #0000ff;"&gt;print</span><span style="color: #000000;"&gt;(d3)
</span><span style="color: #0000ff;"&gt;print</span>(d1==<span style="color: #000000;"&gt;d2)
</span><span style="color: #0000ff;"&gt;print</span>(d1==<span style="color: #000000;"&gt;d3)

</span><span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;输出:</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;{"a": 123,"b": 789,"c": 456}</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;{"a": 123,"c": 456,"b": 789}</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;{"a": 123,"c": 456}</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;False</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;True</span>

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。