python_JSON操作

前提:如果使用进行json操作,首先应该导入json模块(import json)

备注:json必须是双引号,单引号它就会报错

1、json.dump()

把字典变成json格式且存入文件,传入文件名称即可,方法会自动进行写文件操作

import json
filename=open("a.txt","w",encoding="utf-8")
dic={"zhaozhao":{"price":"4.33","num":"5"}}
json.dump(dic,filename)


文件内容:
{"zhaozhao": {"price": "4.33", "num": "5"}}
 

把字典变成JSON格式写入文件且保持格式

import json
filename=open("a.txt","w",encoding="utf-8")
dic={"zhaozhao":{"price":"4.33","num":"5"}}
json.dump(dic,filename,ensure_ascii=False,indent=5)  #ensure_ascii=False 解决中文乱码   indent每行空格数



文件内容:
{
     "zhaozhao": {
          "price": "4.33",
          "num": "5"
     }
}

2、json.dumps()

把字典变成JSON格式,需手动写文件

import json
filename=open("a.txt","w",encoding="utf-8")
dic={"zhaozhao":{"price":"4.33","num":"5"}}
str=json.dumps(dic,ensure_ascii=False,indent=5)
filename.write(str) #需手动再进行一次写操作


文件内容:
{
     "zhaozhao": {
          "price": "4.33",
          "num": "5"
     }
}

3、json.loads 

把JSON格式的字符串转换为字典,且这种转换方式,如果字符串存在文件中,需要自己手动执行读文件到变量中,再进行转换操作

文件内容:

{
     "zhaozhao": {
          "price": "4.33",
          "num": "5"
     }
}



import json
filename=open("a.txt",encoding="utf-8")
str=filename.read() #需要手动读一次文件
dic=json.loads(str)  #json格式转换为字典
print(dic)


输出:
D:studypython	estvenvScriptspython.exe D:/study/python/test/dd.py
{'zhaozhao': {'price': '4.33', 'num': '5'}}

4、json.load

把JSON格式的字符串转换为字典,且这种转换方式,如果字符串存在文件中,无需手动读文件,传入文件名称,方法可自动遍历文件进行转换

文件内容:
{
     "zhaozhao": {
          "price": "4.33",
          "num": "5"
     }
}


代码:
import json
filename=open("a.txt",encoding="utf-8")
dic=json.load(filename)  #json格式转换为字典,无需读文件,自动读文件
print(dic)


执行结果:
D:studypython	estvenvScriptspython.exe D:/study/python/test/dd.py
{'zhaozhao': {'price': '4.33', 'num': '5'}}
原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/10984800.html