Pytho处理JSO.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。 JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。 Python2.6开始加入了JSON模块,无需另外下载,Python的Json模块序列化与反序列化的过程分别是?encoding和?decoding encoding:把一个Python对象编码转换成Json字符串 decoding:把Json格式字符串解码转换成Python对象 对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。 json.dumps方法对简单数据类型encoding: import json data = [{a:A,b:(2,4),c:3.0}] #list对象 print DATA:,repr(data) data_string = json.dumps(data) print JSON:,data_string 输出: DATA: [{a:A,c:3.0,b:(2,4)}] #python的dict类型的数据是没有顺序存储的 JSON: [{a:A,c:3.0,b:[2,4]}] JSON的输出结果与DATA很相似,除了一些微妙的变化,如python的元组类型变成了Json的数组,Python到Json的编码转换规则是:? json.loads方法处理简单数据类型的decoding(解码)转换 import json data = [{a:A,b:(2,4),c:3.0}] #list对象 data_string = json.dumps(data) print ENCODED:,data_string decoded = json.loads(data_string) print DECODED:,decoded print ORIGINAL:,type(data[0][b]) print DECODED:,type(decoded[0][b]) 输出: ENCODED: [{a: A, c: 3.0, b: [2, 4]}] DECODED: [{ua: uA, uc: 3.0, ub: [2, 4]}] ORIGINAL: type tuple DECODED: type list 解码过程中,json的数组最终转换成了python的list,而不是最初的tuple类型,Json到Python的解码规则是:? json的人文关怀 编码后的json格式字符串紧凑的输出,而且也没有顺序,因此dumps方法提供了一些可选的参数,让输出的格式提高可读性,如sort_keys是告诉编码器按照字典排序(a到z)输出。 import json data = [ { a:A, b:(2, 4), c:3.0 } ] print DATA:, repr(data) unsorted = json.dumps(data) print JSON:, json.dumps(data) print SORT:, json.dumps(data, sort_keys=True) 输出: DATA: [{a: A, c: 3.0, b: (2, 4)}] JSON: [{a: A, c: 3.0, b: [2, 4]}] SORT: [{a: A, b: [2, 4], c: 3.0} indent参数根据数据格式缩进显示,读起来更加清晰: import json data = [ { a:A, b:(2, 4), c:3.0 } ] print DATA:, repr(data) print NORMAL:, json.dumps(data, sort_keys=True) print INDENT:, json.dumps(data, sort_keys=True, indent=2) 输出: DATA: [{a: A, c: 3.0, b: (2, 4)}] NORMAL: [{a: A, b: [2, 4], c: 3.0}] INDENT: [ { a: A, b: [ 2, 4 ], c: 3.0 } ] separators参数的作用是去掉,,:后面的空格,从上面的输出结果都能看到, :后面都有个空格,这都是为了美化输出结果的作用,但是在我们传输数据的过程中,越

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档