2018年6月25日 星期一

在Python中使用json

在Python中使用JSON

前言

  由於要在Blender內寫匯出模組的Addon,加上希望輸出的格式是JSON,所以必須要學著在Python裡使用JSON,在此做個紀錄。

內容

  整體來說,使用的過程很簡單,但由於我並不熟Python的語言特性,所以造成我花了些時間才學起來怎麼用。
  如果搜尋過教學範例,會感覺用起來跟Javascript用JSON差不多,但由於不熟Python的語言特性,所以花了些時間在這裡。先看看以下的程式碼
var a = {};

a.propertyA = "123";
a.propertyB = 456;
console.log(JSON.stringify(a) );

這是在Javascript使用JSON的用法,如果直接翻譯成Python,會得到以下的程式碼
import json
a = new object()

a.propertyA = "123"
a.propertyB = 456
print(json.dumps(a) )

執行後會發現Python的object並不能動態增加property!後來查了些資料發現Python裡的JSON並不是直接把object直接轉成JSON的object,而是dict!所以程式碼會被變成以下
import json
a = {} #This object's type is "dict"

a["propertyA"] = "123"
a["propertyB"] = 456
print(json.dumps(a) )

這樣就可以動態的增加property,而資料型態的對應可以在Python JSON裡找到說明。
  將JSON字串轉到Python資料的範例如下
import json

a = "{'propertyA':'123', 'propertyB': 456}"
print( json.loads(a) )

用起來和Python資料轉到JSON字串的方式是一樣的。

參考資料

Python JSON

沒有留言:

張貼留言