JSON(JavaScript Object Notation, JS對象簡譜)是一種輕量級的數據交換格式。它基于 ECMAScript(European Computer Manufacturers Association, 歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
JSON數據不是Python中自帶的一種數據類型,但是在Python編程中會經常用到這種數據類型。
JSON 文本格式在語法上與創建 JavaScript 對象的代碼相同。由于這種相似性,無需解析器,JavaScript 程序能夠使用內建的 eval() 函數,用 JSON 數據來生成原生的 JavaScript 對象。
JSON 是存儲和交換文本信息的語法,類似 XML。JSON 比 XML 更小、更快,更易解析。
JSON 獨立于語言:JSON 使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(PHP,JSP,.NET)編程語言都支持JSON。
JSON 具有自我描述性,更易理解。
我們提供的服務有:成都做網站、成都網站建設、微信公眾號開發、網站優化、網站認證、歷下ssl等。為超過千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的歷下網站制作公司
自我描述性
(人類可讀)JSON 語法是 JavaScript 語法的子集。
通過上面對JSON數據的介紹,我們可以發現JSON數據其實和Python中的字典非常類似。
Python3 中可以使用 json 模塊來對 JSON 數據進行編解碼,它包含了兩個函數:
json.dumps(): 對數據進行編碼。Python→JSON
json.loads(): 對數據進行解碼。JSON→Python
在 json 的編解碼過程中,Python 的原始類型與 json 類型會相互轉換,具體的轉化對照如下:
Python 編碼為 JSON 類型轉換對應表:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True | true |
False | false |
None | null |
JSON 解碼為 Python 類型轉換對應表:
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number(int) | int |
number(real) | float |
true | True |
false | False |
null | None |
import json
data = {
'no': 1,
'name': 'zhangsan'
}
json_str = json.dumps(data)
print("Python原始數據:", data)
print(" JSON對象:", json_str)
Python原始數據: {'no': 1, 'name': 'zhangsan'}
JSON對象: {"no": 1, "name": "zhangsan"}
import json
data = {
'no': 1,
'name': 'zhangsan'
}
json_str = json.dumps(data)
print("Python原始數據:", data)
print(" JSON對象:", json_str)
py_data = json.loads(json_str)
print(py_data['name'])
Python原始數據: {'no': 1, 'name': 'zhangsan'}
JSON對象: {"no": 1, "name": "zhangsan"}
zhangsan
# 寫入 JSON 數據
with open('data.json', 'w') as f:
json.dump(data, f)
# 讀取數據
with open('data.json', 'r') as f:
data = json.load(f)
文章名稱:JSON
文章出自:http://m.kartarina.com/article14/dsogede.html
成都網站建設公司_創新互聯,為您提供企業網站制作、手機網站建設、營銷型網站建設、網頁設計公司、關鍵詞優化、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯