python中解析json格式文件的方法示例
2017-05-03 10:54
1286 查看
前言
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}'
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- Python实现将HTML转换成doc格式文件的方法示例
- Python使用内置json模块解析json格式数据的方法
- Python实现按特定格式对文件进行读写的方法示例
- 配置iis6,iis7.5支持解析.json格式文件的方法
- Android编程简单解析JSON格式数据的方法示例
- JavaScript解析JSON格式数据的方法示例
- Python解析json文件报错:'utf8' codec can't decode byte 0xbb in position 0: invalid start byte
- Python实现读取及写入csv文件的方法示例
- android 解析json数据格式的方法
- 关于iOS中将json格式存到文件中并读取解析成字典
- Python解析json文件相关知识学习
- js/jquery解析json和数组格式的方法详解
- 解析json格式的三种方法
- Python解析Excle文件中的数据方法
- php解析doc格式word文件的另一种方法
- C++ Builder 使用 JsonCpp 解析json格式数据方法( 支持 UNICODE (UTF-16) / UTF-8 )
- 利用java读取web项目中json文件为map集合方法示例
- Python实现读写INI配置文件的方法示例
- python自定义解析简单xml格式文件的方法
- python解析jSON文件