python json 不好用_Python之json使用
一、概念
json是一種通用的數據類型,任何語言都認識
接口返回的數據類型都是json
長得像字典,形式也是k-v { }
其實json是字符串
字符串不能用key、value來取值,要先轉成字典才可以
格式如下:
{"error_code": 0,#要使用雙引號,如果是單引號則運行時會報錯,可以上網做在線json格式校驗
"stu_info": [
{"id": 309,"name": "小白","sex": "男","age": 28,"addr": "河南省濟源市北海大道32號","grade": "天蝎座","phone": "18512572946","gold": 100},
{"id": 310,"name": "小白","sex": "男","age": 28,"addr": "河南省濟源市北海大道32號","grade": "天蝎座","phone": "18516572946","gold": 100}
]
}
二、json操作
1、json串轉成字典:
(1).loads()方法
import json#引用json模塊
res=json.loads(s)print(res)#打印字典
print(type(res))#打印res類型
print(res.keys())#打印字典的所有Key
要先讀文件,然后再轉換:
f=open('stus.json',encoding='utf-8')
content=f.read()#使用loads()方法,需要先讀文件
user_dic=json.loads(content)print(user_dic)
(2).load()方法
importjson
f=open('stus.json',encoding='utf-8')
user_dic=json.load(f)print(user_dic)
(3)區別
loads()傳的是字符串,而load()傳的是文件對象
使用loads()時需要先讀文件再使用,而load()則不用
2、字典轉成json串:
文件里只能寫字符串,但可以把字典轉成json串,json串是字符串,可以存到文件里
(1).dumps()方法
stus={'xiaojun':'123456','xiaohei':'7891','abc':'11111'}#先把字典轉成json
res2=json.dumps(stus)print(res2)#打印字符串
print(type(res2))#打印res2類型
.dumps()方法:把字典轉成json串
with open('stus.txt','w',encoding='utf-8' as f:#打開文件
f.write(res2)#在文件里寫入轉成的json串
使用.dumps()方法前,要先打開文件,再寫入:
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
res2=json.dumps(stus,indent=8,ensure_ascii=False)print(res2)
with open('stus.json','w',encoding='utf-8') as f:#使用.dumps()方法時,要寫入
f.write(res2)
(2)dump()方法
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
f=open('stus2.json','w',encoding='utf-8')
json.dump(stus,f,indent=4,ensure_ascii=False)
(3)區別
.dump()不需要使用.write()方法,只需要寫哪個字典、哪個文件即可;而.dumps()需要使用.write()方法寫入
如果要把字典寫到文件里面的時候,dump()好用;但如果不需要操作文件,或需要把內容存到數據庫和Excel,則需要使用dumps()先把字典轉成字符串,再寫入
(4)dump\dumps參數
.dumps\dump中使用參數indent,為字符串換行+縮進:
res2=json.dumps(stus.indent=4)print(res2)#打印字符串#結果為:
'''{
"xiaojun": "123456",
"xiaohei": "7891",
"lrx": "hailong",
"tanailing": "111111"
}'''
.dumps\dump中使用參數ensure_ascii,為內容輸出為中文:
res2=json.dumps(stus,indent=4,ensure_ascii=False)#為False時內容輸出顯示正常的中文,而不是轉碼
print(res2)
3、不管是dump還是load,帶s的都是和字符串相關的,不帶s的都是和文件相關的。
1、pycharm使用小技巧之分屏:
在python文件上右鍵——Split Vertically,即可達到分屏效果:
2、pycharm使用小技巧之顏色渲染:
文件為.json結尾時,輸出的內容會有染色渲染:
with open('stus.json','w',encoding='utf-8' as f:#打開文件
總結
以上是生活随笔為你收集整理的python json 不好用_Python之json使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定西看子宫纵隔最好的医院推荐
- 下一篇: 链式存储mysql_链栈:栈的链式存储结