python内置json模块的作用_python详解json模块
我們在做工作中經常會使用到json模塊,今天就簡單介紹下json模塊
什么是json
JSON ,全稱為JavaScript Object Notation, 也就是JavaScript 對象標記,它通過對象和數組的組合米表示數據,構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。json模塊在python中可以作為數據解析json
對象和數組
在JavaScript 語言中,一切都是對象。任何支持的類型都可以通過JSON來表示,例如字符串、數字、對象、數組等,但是對象和數組是比較特殊且常用的兩種類型
對象:它在JavaScript中是使用花括號{ }包裹起來的內容,數據結構為{ keyl : valuel,key2:value2}的鍵值對結構。在面向對象的語言中,key為對象的屬性,value 為對應的值。鍵名可以使用整數和字符串來表示。值的類型可以是任意類型。
數組:數組在JavaScript中是方括號[]包裹起來的內容,數據結構為[ ”java ” ,” javascript ”,"vb " ]的索引結構。在JavaScript中, 數組是一種比較特殊的數據類型,它也可以像對象那樣使用鍵值對,但還是索引用得多。同樣,值的類型可以是任意類型。
JSON對象格式
會發現和我們的字典格式是不是特別的一樣
# 格式為{"name":"value"}
[{"name":"AnJing","age":"26"
}]
JSON簡單使用
loads()方法
使用方法loads()將 json文字轉化成json對象
# coding:utf-8
import json
str = '''
[{
"name":"AnJing",
"age":"26"
}]
'''
data = json.loads(str)
print(data)
print(type(data))
print(data[0]['name']) # 通過下標進行選擇
print(data[0].get('name'))
代碼結果:
[{'name': 'AnJing', 'age': '26'}]
AnJing
AnJing
注意:在使用loads的時候json字符串必須要用雙引號表示,否則會報錯
(json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12))
dumps()方法
使用dumps()方法將json轉換成字符串
# coding:utf-8
import json
str = [{
"name":"AnJing",
"age":"26"
}]
print(type(str))
data = json.dumps(str)
print(type(data))
print(data)
代碼結果:
[{"name": "AnJing", "age": "26"}]
另外如果想要保存的文字好看點,我們可以增加一個參數indent,代表縮進字符個數,已經可以寫入中文的時候不會亂碼,加入ensure_ascii=False
# coding:utf-8
import json
str = [{
"name":"安靜",
"age":"26",
"性別":"男"
}]
# indent 表示縮進
# ensure_ascii=False 表示寫入中文
with open('123.json','w',encoding='utf-8')as f:
f.write(json.dumps(str,indent=2,ensure_ascii=False))
代碼結果:
[
{
"name": "安靜",
"age": "26",
"性別": "男"
}
]
load()方法
將文件內容轉換成json數據
# 導入json模塊
import json
str = [{
"name":"AnJing",
"age":"26"
}]
# 通過dumps寫入文件中
with open('123.json','w')as f:
f.write(json.dumps(str))
# 通過load將數據轉換成json
data = json.load(open('123.json','r'))
print(data)
代碼結果:
[{'name': 'AnJing', 'age': '26'}]
dump()方法
將json數據寫入到文件中
# coding:utf-8
import json
str = [{
"name":"AnJing",
"age":"26"
}]
# 通過dump寫入到json中
json.dump(str,open('123.json','w'))
# 通過load查看是否寫入
data = json.load(open('123.json','r'))
print(data)
代碼結果:
[{'name': 'AnJing', 'age': '26'}]
簡單的寫了寫json模塊的使用方法,以及json的簡單介紹,歡迎繼續補充沒有涉及到的知識。
感覺寫的對您有幫助的,點個關注不迷路~~~~
分類:?python基礎
來源:
測試-安靜
https://www.cnblogs.com/qican/
標簽:26,name,python,AnJing,json,詳解,str,data
來源: https://www.cnblogs.com/rxxbb123/p/14234091.html
總結
以上是生活随笔為你收集整理的python内置json模块的作用_python详解json模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑没u盘怎么还原系统 电脑如何无U盘还
- 下一篇: freeradius 3.0 mysql