一览:从列格式转换至对应的行格式所需方法:
原格式in \ 转换后out | json字符串 | dict | json文件 |
---|---|---|---|
json字符串 | / | out=json.loads(in) | 文件函数:f.write...等 |
dict | out=json.dumps(in) | / | out=json.dump(in) |
json文件 | 文件函数:f.read...等 | out=json.load(in) | / |
说明:从第一列的json字符串转换为第一行中的dict类型,需要用json.loads()函数。
普通字符串转json字符串。
json字符串值,双引号关键字,无转义符等。参考系列示意:
前两种都不满组json函数的要求。可以通过 replace 函数将单引号替换为双引号,将无意义的转义符替换掉。
对json操作(json -> dict)
作用于文件:json.load()
json.load() 读取文件,返回 dict
with open("file.json") as f:
result=json.load(f)
作用于字符串:json.loads()
json.loads() 读取字符串 返回 dict
jsonStr = r'{"name":"zhangsan","sex":"1"}'
result = json.loads(jsonStr)
对dict操作(dict -> str -> json)
输出到文件:json.dump()
dict_Json = {"name":"zhangsan","sex":"1"}
# 输出到out_file.json
with open("out_file.json","w",encoding="UTF-8") as f:
json.dump(dict_Json, f, indent=4)
文件内容:
输出到字符串:json.dumps()
字典不可以直接转json。
步骤:
- 字典调用 json的dumps() 转str
- 字符串调用json的loads() 转json
dict_Json = {"name":"zhangsan","sex":"1"}
tmpStr = json.dumps(dict_Json) # -> <class 'str'>
result = json.loads(tmpStr) # -> <class 'dict'>