加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python开发_json_一种轻量级的数据交换格式

发布时间:2020-12-17 00:20:01 所属栏目:Python 来源:网络整理
导读:以下是我做的对于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中模块的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>

<span style="color: #000000;">
indent参数是缩进的意思:
<span style="color: #0000ff;">import<span style="color: #000000;"> json
testA = {<span style="color: #800000;">'<span style="color: #800000;">name<span style="color: #800000;">' : <span style="color: #800000;">'<span style="color: #800000;">hongten<span style="color: #800000;">'<span style="color: #000000;">,<span style="color: #800000;">'<span style="color: #800000;">age<span style="color: #800000;">' : <span style="color: #800000;">'<span style="color: #800000;">20<span style="color: #800000;">'<span style="color: #000000;">,<span style="color: #800000;">'<span style="color: #800000;">gender<span style="color: #800000;">' : <span style="color: #800000;">'<span style="color: #800000;">M<span style="color: #800000;">'<span style="color: #000000;">}
test_dump = json.dumps(testA,sort_keys = True,indent = 4<span style="color: #000000;">)
<span style="color: #0000ff;">print<span style="color: #000000;">(test_dump)

</span><span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;输出:</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;{</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;    "age": "20",</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;    "gender": "M",</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;    "name": "hongten"</span>
<span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt;}</span>

<span style="color: #008000;">#<span style="color: #008000;">#################################################
[[<span style="color: #800000;">'<span style="color: #800000;">a<span style="color: #800000;">',{<span style="color: #800000;">'<span style="color: #800000;">name<span style="color: #800000;">': <span style="color: #800000;">'<span style="color: #800000;">hongten<span style="color: #800000;">'<span style="color: #000000;">}]
[[<span style="color: #800000;">"<span style="color: #800000;">a<span style="color: #800000;">",<span style="color: #800000;">"<span style="color: #800000;">b<span style="color: #800000;">",<span style="color: #800000;">"<span style="color: #800000;">c<span style="color: #800000;">"],<span style="color: #800000;">"<span style="color: #800000;">good<span style="color: #800000;">",<span style="color: #800000;">"<span style="color: #800000;">boy<span style="color: #800000;">",<span style="color: #800000;">"<span style="color: #800000;">hongten<span style="color: #800000;">"],{<span style="color: #800000;">"<span style="color: #800000;">name<span style="color: #800000;">": <span style="color: #800000;">"<span style="color: #800000;">hongten<span style="color: #800000;">"<span style="color: #000000;">}]
[True,None]
[true,null]
hongten
<span style="color: #800000;">"<span style="color: #800000;">hongten<span style="color: #800000;">"<span style="color: #000000;">
hongten
{<span style="color: #800000;">"<span style="color: #800000;">a<span style="color: #800000;">": 123,<span style="color: #800000;">"<span style="color: #800000;">b<span style="color: #800000;">": 789,<span style="color: #800000;">"<span style="color: #800000;">c<span style="color: #800000;">": 456<span style="color: #000000;">}
{<span style="color: #800000;">"<span style="color: #800000;">b<span style="color: #800000;">": 789,<span style="color: #800000;">"<span style="color: #800000;">c<span style="color: #800000;">": 456,<span style="color: #800000;">"<span style="color: #800000;">a<span style="color: #800000;">": 123<span style="color: #000000;">}
{<span style="color: #800000;">"<span style="color: #800000;">a<span style="color: #800000;">": 123,<span style="color: #800000;">"<span style="color: #800000;">c<span style="color: #800000;">": 456<span style="color: #000000;">}
False
True
{
<span style="color: #800000;">"<span style="color: #800000;">age<span style="color: #800000;">": <span style="color: #800000;">"<span style="color: #800000;">20<span style="color: #800000;">"<span style="color: #000000;">,<span style="color: #800000;">"<span style="color: #800000;">gender<span style="color: #800000;">": <span style="color: #800000;">"<span style="color: #800000;">M<span style="color: #800000;">"<span style="color: #000000;">,<span style="color: #800000;">"<span style="color: #800000;">name<span style="color: #800000;">": <span style="color: #800000;">"<span style="color: #800000;">hongten<span style="color: #800000;">"<span style="color: #000000;">
}
>>>

= json python ( ( * 50 obj = [[,{ : encodedjson = objA = encodedjsonA = testB = dump_test = load_test = data1 = {:789,:123 data2 = {:123,:456 d1 = json.dumps(data1,sort_keys= d2 = d3 = json.dumps(data2,sort_keys= (d1== (d1== testA = { : : : test_dump = json.dumps(testA,indent = 4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读