前言
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
本文主要介绍的是python中解析json格式文件的方法,解析json文件无非编码和解码,这里我们用了python下自带的json模块。当然还要结合python本身特有的dict类型的操作。下面来看看详细的介绍吧。
编码
编码用到的是json.dumps()
函数,将字典转化为json对象。
import json data = [{'a':"A",'b':(2,4),'c':3.0}] #list对象 print "DATA:",repr(data) data_string = json.dumps(data)#dumps函数 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.loads()
函数,将json格式转化为dict。
import json data = '{"a":"A","b":[2,4],"c":3.0}' #json格式 decoded = json.loads(data) print "DECODED:",decoded
输出的结果是
DECODED: [{u'a': u'A', u'c': 3.0, u'b': [2, 4]}]
编码和解码的过程中,元组会被变成无次序的列表,而字典的次序也并不能保证不变。
现在,处理json格式的重点便成了正确处理dict类型数据了。
常见错误
python的json模块不支持单引号,所以类似"{'a':'A','b':[2,4],'c':3.0}"
的字符串是会报以下错误的:
ValueError: Expecting property name: line 1 column 2 (char 1)
这时候我们只需要把他单双引号互换即可:
'{"a":"A","b":[2,4],"c":3.0}'
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 孙悦.1996-伙伴【正大国际】【WAV+CUE】
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】