猛禽洛的程式筆記庫

[Python] JSON的使用方法(建立、解析)

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-

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *