python中解析json格式文件的方法示例
前言 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类型的操作。下面来看看详细的介绍吧。 编码 编码用到的是 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,4)}] #python的dict类型的数据是没有顺序存储的 JSON: [{"a":"A","c":3.0,"b":[2,4]}] 解码 解码用 import json data = '{"a":"A",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模块不支持单引号,所以类似 ValueError: Expecting property name: line 1 column 2 (char 1) 这时候我们只需要把他单双引号互换即可: '{"a":"A","c":3.0}' 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |