本文首发于我的个人博客Suixin's Blog
原文: https://suixinblog.cn/2019/02/python-json.html 作者: Suixin
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,尽管JSON是JavaScript的一个子集,但它是独立于语言的文本格式。
在Python中,我们使用json包来实现json文件的读取和写入。
读取json文件
使用json.loads()或json.load()两个函数来读取json文件。
json.loads()
json.loads()用来解析包含JSON数据的字符串,解析后变量格式为字典。
用法:

image
json.load()
json.load()用来解析json文件,这也是和json.loads()唯一的区别。
解析json文件时,要么该文件只包含一行(只有一个字典),要么每个字典是列表的一个元素,如图:

image
如果是后一种,则解析出的变量也为列表格式,每个元素是对应的字典。
编码为json格式
使用json.dumps()或json.dump()两个函数来编码json格式。
json.dumps()
json.dumps()将一个Python数据结构(字典)编码成json格式的字符串。
用法:

image
json.dump()
json.dump()将一个Python数据结构(字典)编码成json格式,并写入到文件中。
用法:

image
jj.json文件为:
image
共有参数
-
ensure_ascii=True:如果有中文时,需改为False,即不转义为ASCII码; -
indent=None:缩进。默认为紧凑格式,0/负数或者""为只换行,正数代表缩进多少个空格,也可以使用"\t"等; -
sort_keys=False:是否按照键排序; -
separators=None:分隔符。默认为None(即(", ", ": ")),可以改为紧凑形式(",", ":")等。