JSON為Python內建的套件,所以基本上不要另外安裝,只要import即可。
import json
如果要建立一組JSON如下:
{"index": 2,"name": "主機2","settingPSI": 30}
setting_data_json_dict = {'index': 2, 'name': 'host2', 'settingPSI': 30} #json 字典物件 setting_data_json = json.dumps(setting_data_json_dict) #轉換為json格式 print(setting_data_json) #印出來看
印出來後就會得到上述結果,如要將JSON轉傳到別處,只要將setting_data_json
傳遞出去即可。
補充: json.dumps在轉換時也有附加功能,如排序sort_keys=True
、格式化顯示separators=(',\n', ': ')
那要如何建立JSON Array呢? 首先要建立一個空的字典物件devices_data_json_dict
來存放多台裝置的資料,然後再把JSON資料一一加入:
devices_data_json_dict = [] # json array用字典物件 for n in range(3): # 建立3筆 setting_data_json_dict = {'index': n, 'name': 'host'+str(n), 'settingPSI': 30} # json 字典物件 devices_data_json_dict.append(setting_data_json_dict) #再把這筆字典append進array中 setting_data_json = json.dumps(devices_data_json_dict) # 轉換為json格式 print(setting_data_json) # 印出來看
最後會長這樣子:
[{"index": 0, "name": "host0", "settingPSI": 30}, {"index": 1, "name": "host1", "settingPSI": 30}, {"index": 2, "name": "host2", "settingPSI": 30}]
解析JSON物件:
建立完JSON後,接下來說明如何解析。
繼續使用剛剛所產生的JSON字串:
json_data = str(setting_data_json) # 模擬收到的字串格式json json_load = json.loads(json_data)#使用loads載入 json_load_dict = json_load#將他轉成字典方便解析 print(json_load_dict[1]['name'])#讀取index1中的name欄位
執行結果:
host1
以上這些就是基本的JSON用法了。
-END-
發佈留言