时间:2021-05-22
前言
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 jsondata = [{'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 jsondata = '{"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}'总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了java导出json格式文件的示例代码,分享给大家,具体如下:生成json文件代码:importjava.io.File;importjava.io.
mat为matlab常用存储数据的文件格式,python的scipy.io模块中包含保存和加载mat格式文件的API,使用极其简单,不再赘述;另附简易示例如下:
本文实例讲述了Android编程使用pull方式解析xml格式文件的方法。分享给大家供大家参考,具体如下:上次已经说过使用Androidsax解析xml,实际上
这篇文章主要介绍了Python安装tar.gz格式文件方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下:这里主要实现将代码混乱的json文件格式化。还有一小堆python常用算