2016-01-15 66 views
1

鏢類的變量我有一個類讓所有的JSON編碼

class Person{ 
    String _fn, _ln; 
    Person(this._fn, this._ln); 
} 

是否有一種方式來獲得的變量列表,然後序列化呢?基本上我想做一個toJson,但我希望它具有足夠的通用性,使得key是變量名稱,並且該值是變量名稱的值。

在javascript中它會是這樣的:

var myObject = {}; //.... whatever you want to define it as.. 
var toJson = function(){ 
    var list = Object.keys(myObject); 
    var json = {}; 
    for (var key in list){ 
    json[list[key]] = myObject[list[key]] ; 
    } 
    return JSON.stringify(json); 
} 

回答

1

達特沒有內置的序列化功能。 pub.dartlang.org上有幾個包含不同策略的包。有些使用鏡像,這對客戶端應用程序是有害的,因爲它會導致大的或巨大的JS輸出大小。新的reflectable軟件包替換mirrors沒有缺點,但我不知道是否已經移植了序列化軟件包來替代它。還有一些使用代碼生成的軟件包。

對於列出可用解決方案的答案存在疑問。我回來時會查找它。

+0

啊,好的。我只是讓一個Model來傳遞,然後使用它。 – Fallenreaper

+1

要在客戶端和服務器之間發送它,您需要像JSON(或protobuf,...)這樣的序列化格式。無論如何,你可以在那裏傳遞對象實例本身,而無需序列化/反序列化。 –

+0

聽起來像一個計劃 – Fallenreaper