顯示具有 Javascript Object Notation 標籤的文章。 顯示所有文章
顯示具有 Javascript Object Notation 標籤的文章。 顯示所有文章

2022年6月7日 星期二

Python與 JSON格式資料的讀寫範例

之前提到過資料交換格式JSON,

今天就以實際的範例,

簡單介紹下

Python與 JSON格式資料的讀寫範例

資料交換格式JSON

JSON全名為 Javascript   Object   Notation

是一種常見的資料交換格式

JSON文件的副檔名為 .json


JSON 資料讀取

在 Python 可透過 json.loads 來讀取一個 JSON格式的字串

str_data = '{ "name": "李大朋", "age": 20, "weight": 70}'

若讀取的是一個 JSON檔案的話,則是用  json.load 來開啟

當然,在進行檔案存取之前得先要 open 檔案,

這在之前的 Python 檔案讀寫就有提及

# 讀取 JSON 檔案
with open("output.json", "r", encoding='UTF-8') as g:
print("\n 讀取 json檔案:")
h = json.load(g)
print(type(h))
print('名字:'+h['name'])

JSON 資料產生

除了讀取其他人交換的 JSON資料,

反過來自己也能夠分享 JSON 格式的資料給別人,

這時就使用 json.dumps 來產生 JSON字串

# 輸出 JSON 字串
q = json.dumps(dict_data)
print("\n json.dumps 結果:")
print(type(q))
print(eval(q))
若為檔案的話,則是使用 json.dump 產生副檔名為 .json的檔案

# 輸出 JSON 檔案
with open("output.json", "w+", encoding='UTF-8') as f:
json.dump(dict_data, f, indent=4, ensure_ascii=False)
若有中文的資料的話,

記得以 UTF-8 的方式來存取檔案,

否則就會直接以編碼的方式寫入檔案,

此處使用 json.dump 來產生 JSON檔案

結語

範例程式最後的結果如下


使用 json.dumps() 將物件轉成 JSON字串

回傳的資料型態為 str  ;

使用 json.loads() 讀取 JSON字串

則回傳的資料型態為 dict  ;

若讀寫的資料均為檔案的話,

則是使用 json.load() 與 json.dump() ;

若資料有中文,就必須使用 UTF-8 來讀寫,

避免資料顯示或者輸出的時候格式不對造成讀寫困難




2019年3月23日 星期六

資料交換格式JSON


JSON全名為 Javascript   Object   Notation,

與XML類似,

都是一種資料交換的格式,

JSON文件的副檔名通常為   .json

今天就來了解何謂

資料交換格式JSON


JSON的內容其實就是文字內容,

JSON物件通常以大括號     {}  包住成對的  key:  value    ,

並且以逗號隔開,

例如:

{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3",
..............................
}




之前有介紹過   Python的集合物件   ,

從中可發現,

JSON物件與Python中的字典很像,   

都是以大括號包住成對的 key 與   value

而JSON陣列則與Python清單相似,

都是以中括號包住物件,並以逗號隔開

一個JSON陣列可能長這樣:

{
"key1" :  "value1"
"key2"  :  [
         { "key2-1" :  "value2-1" },
         { "key2-2" :  "value2-2" },
         { "key2-3" :  "value2-3" }

}


JSON的重點特徵如下:


  • 以大括號定義物件
  • 以中括號定義陣列
  • 資料是成對的  key 與   value並以冒號    :    分隔
  • 各資料之間以逗號隔開
  • 檔案的副檔名為.json


格式簡單易懂,

在現今的網路中是很常見的一種資料格式