JSON介紹
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。[百度百科]
JSON基本語法
- JSON 規定字符集是UTF-8,字符串必須使用"",數據的名稱也必須使用"",不能使用單引號 ''
- 數組或對象的最後一個成員,不能加逗號
數據
JSON 數據的書寫格式是:“名稱/值”對,其中值可以是:數字(整數或浮點數)、字符串(在雙引號中)、邏輯值(true 或 false)、數組(在方括號中)、對象(在花括號中)、null,數據之間用逗號分隔。
"csdn" : "John",
"age" : 23
對象
JSON 對象在花括號中書寫,可以包含多個名稱/值對數據。
{
"csdn" : "John",
"age" : 23
}
數組
JSON 數組在方括號中書寫,可包含多個對象,對象之間逗號分隔。
[
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
}
]
JSON文件寫入
json.dumps(param) 是將json數據對象轉換爲文本字符串的函數,其函數名是dump string 的縮寫,意思是輸出字符串,其參數param必須要是json對象。json對象–>字符串str
import json
me = [
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
}
]
with open('me.json','w') as file:
file.write(json.dumps(me, indent=2))#indent爲了縮進
JSON文件讀取
json.loads(param) 是將文本字符串轉換爲json對象的函數,其函數名是load string 的縮寫,意思是加載字符串。字符串str–>json對象
import json
with open('me.json','r') as file:
str = file.read()
data = json.loads(str)
print(data)
print(type(data))#python列表的類型
字符串str–>json對象
import json
str='''[
{
"csdn" : "John",
"age" : 23
},
{
"major" : "cs",
"years" : 4
},
{
"major" : "計算機科學與技術",
"years" : "全日制4年"
}
]
'''
print(type(str))#string
data = json.loads(str)
print(data)
print(type(data))#python列表的類型