首先json.dumps()对应的json.loads(),dumps是将dict转化成str/json串格式,loads是将str/json格式串转化成dict格式
import json
jsons1 = """{"b":{"a":[{"n1":"WIFI","n2":840,"la":39.9,"l":false},{"n1":"WIFI","p1":"com.tudou.ui.activity.HomeActivity"}]},
"h":{"i":{"o2":"4.3"}}}"""
print(json.loads(jsons1))
print(type(json.loads(jsons1)))
输入内容如下:
然后我们发现使用json.loads后,类型变为一个dict字典。同时如果细心的童鞋可能会发现,我在代码中编写jsons1后的一串字符中“l”=false,可是我们使用loads转换后输出的却为大写的False,这是因为在Python中布尔类型为True和False,如果在给布尔类型赋值时,大小写写错了就会最经典的错误。例如,
a = true
print(a)
修改为a=True输出正确结果:True。
然后我们再来看json.dumps
import json
jsons1 = """{"b":{"a":[{"n1":"WIFI","n2":840,"la":39.9,"l":false},{"n1":"WIFI","p1":"com.tudou.ui.activity.HomeActivity"}]},
"h":{"i":{"o2":"4.3"}}}"""
print(json.dumps(jsons1))
print(type(json.dumps(jsons1)))
就是将jsons1转为str类型,在这里我们小写的“l”=false在控制台中输入仍然为小写的false,结果为:
而json.dump()和json.load()与文件的操作有关
执行后打开test.txt查看,jsons1的内容被写入到test.txt文件
执行后打印出
总结:
json.dump是将python数据保存成json,json.load是从txt文件中加载json格式文件内容
json.dumps是将dict转化成str格式,json.loads是将str转化成dict格式