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

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

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

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

Python 3.3.2 (v3.3.2:d047928ae3f6,May 16 2013,00:03:43) [MSC v.1600 32, >>> ================================ RESTART ================================>>><a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>ON(<a href="https://m.jb51.cc/tag/JavaScript/" target="_blank" >JavaScript</a> Object Notation)是一种轻量级的数据交换<a href="https://m.jb51.cc/tag/geshi/" target="_blank" >格式</a>。易于人阅读和编写,同时也易于机器<a href="https://m.jb51.cc/tag/jiexi/" target="_blank" >解析</a>和<a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" >生成</a>。在python中,<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on模块<a href="https://m.jb51.cc/tag/tigong/" target="_blank" >提供</a>的dumps()<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" >方法</a>可以对简单的数据<a href="https://m.jb51.cc/tag/jinxing/" target="_blank" >进行</a>编码:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;<a href="https://m.jb51.cc/tag/import/" target="_blank" >import</a></span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>onobj </span>= [[<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;a</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;b</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;c</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>],1,3,4,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;good</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;boy</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>,(88,42,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;hongten</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>),{<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a></span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span> : <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;hongten</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;}]encoded<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on </span>=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.dumps(obj)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(repr(obj))</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(encoded<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;[['a','b','c'],'good','boy','hongten'),{'<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>': 'hongten'}]</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;[["a","b","c"],"good","boy",[88,"hongten"],{"<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>": "hongten"}]</span>

<span >
objA =<span > [True,False,None]
encodedJsonA =<span > Json.dumps(objA)
<span >print<span >(repr(objA))
<span >print<span >(encodedJsonA)

</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;[True,None]</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;[true,false,n<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>l]</span>

<span >
在Json的编码过程中,会存在从python原始类型向Json类型的转换过程,具体的转换
如下:

    python      </span>--><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;           <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on    dict                      object    <a href="https://m.jb51.cc/tag/List/" target="_blank" >List</a>,tuple                array    str,unicode               string    int,long,<a href="https://m.jb51.cc/tag/float/" target="_blank" >float</a>            number    True                      true    False                     false    None                      n<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>l<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on转换为python数据类型:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;<a href="https://m.jb51.cc/tag/import/" target="_blank" >import</a></span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>ontestB </span>= <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;hongten</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;dump_test </span>=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.dumps(testB)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(testB)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(dump_test)load_test </span>=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.loads(dump_test)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(load_test)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;hongten</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;"hongten"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;hongten</span>

<span >
而Json转换为python类型的时候,调用的是Json.loads()方法,按照如下规则转换的:

    <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on        </span>--><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;           python    object                    dict    array                     <a href="https://m.jb51.cc/tag/List/" target="_blank" >List</a>    string                    str    number(int)               int    number(real)              <a href="https://m.jb51.cc/tag/float/" target="_blank" >float</a>    true                      True    false                     False    n<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>l                      None<a href="https://m.jb51.cc/tag/paixu/" target="_blank" >排序</a><a href="https://www.jb51.cc/tag/gongneng/" target="_blank" >功能</a>使得存储的数据更加有利于观察,也使得对<a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>的对象<a href="https://m.jb51.cc/tag/jinxing/" target="_blank" >进行</a>比较:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;<a href="https://m.jb51.cc/tag/import/" target="_blank" >import</a></span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>ondata1 </span>= {<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;b</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:789,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;c</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:456,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;a</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:123<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;}data2 </span>= {<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;a</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:123,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;b</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:789,<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;c</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;'</span>:456<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;}d1 </span>= <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.dumps(data1,sort_keys=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;True)d2 </span>=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt; <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.dumps(data2)d3 </span>= <a href="https://m.jb51.cc/tag/Js/" target="_blank" >Js</a>on.dumps(data2,sort_keys=<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;True)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(d1)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(d2)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;(d3)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span>(d1==<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;d2)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"&gt;print</span>(d1==<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;d3)</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;{"a": 123,"b": 789,"c": 456}</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;{"a": 123,"c": 456,"b": 789}</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;{"a": 123,"c": 456}</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;False</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;True</span>

<span >
indent参数是缩进的意思:
<span >import<span > Json
testA = {<span >'<span >name<span >' : <span >'<span >hongten<span >'<span >,<span >'<span >age<span >' : <span >'<span >20<span >'<span >,<span >'<span >gender<span >' : <span >'<span >M<span >'<span >}
test_dump = Json.dumps(testA,sort_keys = True,indent = 4<span >)
<span >print<span >(test_dump)

</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" >输出</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;{</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;    "age": "20",</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;    "gender": "M",</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;    "<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>": "hongten"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;#</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;"&gt;}</span>

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

= 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

href="http://www.cnblogs.com/coser/archive/2011/12/14/2287739.HTML">http://www.cnblogs.com/coser/archive/2011/12/14/2287739.HTML

总结

以上是内存溢出为你收集整理的python开发_json_一种轻量级的数据交换格式全部内容,希望文章能够帮你解决python开发_json_一种轻量级的数据交换格式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1208258.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存