json is a universal data type
General situation The data types returned by the interface below are all json
looks like a dictionary, and the form is also k-v{ }
In fact, json is a string
Strings cannot be obtained using key or value, so they must be converted into a dictionary first.
loads method
import json res = json.loads(s) # s是json类型的字符串 print(res) # 打印字典 print(type(res)) # 打印res类型 print(res.keys()) # 打印字典的所有key
File operation
f = open('stus.json',encoding='utf-8') content = f.read() # 使用loads()方法需要先读文件 user_dic = json.loads(cotent) print(user_dic)
load method
import json f = open('stus.json',encoding="utf-8") user_dic = json.load(f) print(user_dic)
Difference:
loads( ) passes a string, while load() passes a file object
When using loads(), you need to read the file first, but load() does not need to
Only strings can be written in the file, but the dictionary can be converted into a json string. The json string is a string and can be written to the file
drums method
stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'} res2 = json.dumps(stus) # 先把字典转成json print(res2) print(type(res2))
File operation
with open('stus.txt','w',encoding='utf-8') as f: # 打开文件 f.write(res2) # 在文件里写入转成的json串
dump() method
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'} file = open('stus2.json','w',encoding='utf-8') json.dump(stus,file,indent,ensure_ascii=False) # 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码
Parameters:
Difference:dump() does not need to use the .write() method, you only need to write that Dictionary, that file can be used; and .dumps() needs to be written using the .write() method. If you write the dictionary to a file, dump() is easy to use; but if you do not need to operate the file, or need to store the content To access the database or excel, you need to use dumps() to convert the dictionary into a string first, and then write it
The above is the detailed content of What are the operating methods of json library in Python?. For more information, please follow other related articles on the PHP Chinese website!