Python读写JSON文件详解:从格式识别到代码实现
本文详解Python中读写JSON文件的方法。首先区分单行JSON与整体JSON两种格式,接着通过json.load读取数据并转换为列表,示例展示如何提取字段值。随后演示使用json.dumps将列表写入JSON文件,并推荐实用在线工具辅助开发。
本文通过具体实例介绍Python中读写JSON文件的功能,供读者参考学习。
与Java相比,Python处理JSON文件更为简便。Java操作JSON通常需要引入特定的jar包及依赖库,有兴趣了解Java实现的读者可自行搜索,此处不再展开。
接下来介绍如何读取JSON文件。
在执行JSON操作前,需掌握JSON的基本格式,以便准确识别不同类型的JSON文件。
JSON文件通常呈现为以下两种格式:
第一种格式为每行包含一个独立的JSON对象,示例如下:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]] ["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]
此类JSON中,每一行代表一个独立的JSON对象,各行之间相互独立,无关联关系。
第二种格式是将整个文件内容作为一个完整的JSON对象。
[
{"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]},
{"name":"Lisa","age":"20","hobbies" : ["sing","dance"]}
]
在此格式中,各条记录之间通过逗号进行分隔连接。
下面演示如何读取JSON文件,主要利用json.load函数。
f = open('/home/codergray/company/test_2.json')
#将json格式的数据映射成list的形式
t = json.load(f)
执行后,变量t将变为一个列表(list),按照访问普通列表的方式即可访问其中的元素。
str = t[0]['name'] print str
运行结果如下:
Tony
以上述示例为例,访问t[0]即获取第一条JSON记录,通过键['name']可获取name字段的值,从而读出“Tony”。
接下来介绍如何写入JSON文件。
写入JSON通常采用前文提到的第二种格式,即整个文件构成一个大的JSON对象。
具体示例如下:
f = open('result.json','w')
result = []
temp = {}
temp['name'] = 'Tony'
temp['age'] = '21'
tamp['hobbies'] = ['basketball','tennis']
result.append(temp)
f.write(json.dumps(result,ensure_ascii=False))
通过上述代码,可将JSON数据写入result.json文件。虽然示例中仅包含一条记录,但实际应用中可通过循环插入多条记录。json.dumps方法可视为json.load的逆过程,负责将列表数据格式转换为JSON字符串并保存至文件中。
此外,推荐几款实用的在线JSON工具供参考:
在线JSON代码检验、校验、美化及格式化工具: http://tools.jb51.net/code/json
JSON在线格式化工具: http://tools.jb51.net/code/jsonformat
在线XML与JSON互相转换工具: http://tools.jb51.net/code/xmljson
在线JSON代码格式化、美化、压缩、编辑及转换工具: http://tools.jb51.net/code/jsoncodeformat
在线JSON压缩及转义工具: http://tools.jb51.net/code/json_yasuo_trans
对Python其他内容感兴趣的读者,可查阅本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。
希望本文所述内容能对大家的Python程序设计有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









