JSON

4.8 JSON

4.8.1 JSON簡介

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等。為超過千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的歷下網站制作公司

4.8.1.1 與 XML 相同之處

  • JSON 是純文本
  • JSON 具有自我描述性(人類可讀)
  • JSON 具有層級結構(值中存在值)
  • JSON 可通過 JavaScript 進行解析
  • JSON 數據可使用 AJAX 進行傳輸

4.8.1.2 與 XML 不同之處

  • 沒有結束標簽
  • 更短
  • 讀寫的速度更快
  • 能夠使用內建的 JavaScript eval() 方法進行解析
  • 使用數組
  • 不使用保留字

4.8.2 JSON語法

JSON 語法是 JavaScript 語法的子集。

  • 數據在名稱/值對中
  • 數據由逗號分隔
  • 大括號 {} 保存對象
  • 中括號 [] 保存數組,數組可以包含多個對象

4.8.2.1 JSON 值

  • 數字(整數或浮點數)
  • 字符串(在雙引號中)
  • 邏輯值(true 或 false)
  • 數組(在中括號中)
  • 對象(在大括號中)
  • null

4.8.3 Python3中使用JSON

通過上面對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

4.8.3.1 Python字典轉換為JSON對象

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"}

4.8.3.2 JSON對象轉換為Python字典

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

4.8.3.3 JSON數據讀取或寫入到文件中

# 寫入 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。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 精品人妻无码区在线视频 | 无码av天天av天天爽| 亚洲中文字幕不卡无码| 亚洲AV无码乱码在线观看富二代| 99国产精品无码| 免费无码一区二区三区蜜桃| 98久久人妻无码精品系列蜜桃| 无码日本精品XXXXXXXXX| 国产AV无码专区亚洲AV手机麻豆 | 一夲道dvd高清无码| 亚洲AV蜜桃永久无码精品| 日韩乱码人妻无码系列中文字幕| 无码无需播放器在线观看| 国产乱人伦Av在线无码| 国产成人无码精品久久二区三区| 久久久久久AV无码免费网站 | 国产精品无码免费视频二三区| 亚洲VA中文字幕无码毛片| 无码一区二区三区免费视频| 无码人妻精品一区二区三18禁| 亚洲成A人片在线观看无码3D| 亚洲成av人片天堂网无码】| 精品无码一区二区三区在线| 国产午夜片无码区在线播放| 国产av无码专区亚洲国产精品| 亚洲精品无码久久久久APP| 欧洲无码一区二区三区在线观看| 亚洲一区二区三区无码中文字幕| 无码天堂va亚洲va在线va| 亚洲熟妇无码av另类vr影视 | 精品久久无码中文字幕| 国产精品VA在线观看无码不卡| 无码人妻一区二区三区免费视频| 高清无码v视频日本www| 精品欧洲av无码一区二区| 无码精品A∨在线观看免费| 亚洲av永久无码精品三区在线4 | 免费无遮挡无码永久视频| 久久成人无码国产免费播放| 亚洲精品无码成人AAA片| 亚洲va无码专区国产乱码|