目录
- 写在前面
- 一、loads 和 load
- 1.1 loads解释及代码实例
- 1.2 load解释及代码实例
- 二、dumps 和 dump
- 2.1 dumps解释及代码实例
- 2.2 dump解释及代码实例
- 2.3 ensure_ascii参数(Ture or False)
写在前面
一句话概括
json.loads 接受字符串
json.load 接受文件对象
json.dumps 输出为字符串
json.dump 输出到文件
一、loads 和 load
1.1 loads解释及代码实例
json.loads用于从字符串中读取JSON数据。它需要一个包含JSON数据的字符串作为参数,并将该字符串解析为Python对象。
import jsonwith open('data.json') as f:for line in f.readlines(): # type(line) : stringdata = json.loads(line)#### 等同于下列代码 ####import jsondata = '{"name": "John Smith", "age": 30}' # string
parsed_data = json.loads(data)
1.2 load解释及代码实例
json.load用于从文件中读取JSON数据。它需要一个已打开并可读的文件对象作为参数,并将该文件对象中的JSON内容解析为Python对象。
import jsonwith open('data.json') as f:data = json.load(f)
二、dumps 和 dump
2.1 dumps解释及代码实例
json.dumps用于将Python对象转换为JSON格式,并将其作为字符串返回。它只需要一个参数:要转换为JSON格式的Python对象。
import jsondata = {"name": "John Smith", "age": 30} # type(data) : dict
json_string = json.dumps(data) # 输出到字符串: type(json_string) : string
2.2 dump解释及代码实例
json.dump用于将Python对象转换为JSON格式,并将其写入文件。它需要两个参数:第一个参数是要转换为JSON格式的Python对象,第二个参数是一个已打开并可写的文件对象,用于将JSON数据写入文件。
import jsondata = {"name": "John Smith", "age": 30} # type(data) : dict
with open("data.json", "w") as f:json.dump(data, f) # 输出到文件里
2.3 ensure_ascii参数(Ture or False)
ensure_ascii是dump和dumps函数中都包含的参数之一,主要作用:
用于控制是否将非 ASCII 字符转义为 Unicode 转义序列。
简单来说是否把data里的内容是否保持原样,下面给出样例区别
import jsondata = {"name": "Jérémy", "age": 25}json1_string = json.dumps(data, ensure_ascii=True) # {"name": "J\u00e9r\u00e9my", "age": 25}json2_string = json.dumps(data, ensure_ascii=False) # {"name": "Jérémy", "age": 25}