为 json 编码获取飞镖 class 的所有变量
Getting all of the variables of a dart class for json encoding
我有一个class
class Person{
String _fn, _ln;
Person(this._fn, this._ln);
}
有没有办法获取变量列表,然后序列化它?本质上我想做一个 toJson,但我想让它足够通用,这样键就是变量名,值就是变量名的值。
在 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);
}
Dart 没有内置的序列化功能。 pub.dartlang.org 提供了几个具有不同策略的软件包。有些使用镜像,这对客户端应用程序有害,因为它会导致 JS 输出大小过大或过大。新的 reflectable
包取代了 mirrors
而没有缺点,但我不知道序列化包是否已经被移植来使用它。还有使用代码生成的包。
有一个问题的答案列出了可用的解决方案。我回来的时候再看看。
我有一个class
class Person{
String _fn, _ln;
Person(this._fn, this._ln);
}
有没有办法获取变量列表,然后序列化它?本质上我想做一个 toJson,但我想让它足够通用,这样键就是变量名,值就是变量名的值。
在 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);
}
Dart 没有内置的序列化功能。 pub.dartlang.org 提供了几个具有不同策略的软件包。有些使用镜像,这对客户端应用程序有害,因为它会导致 JS 输出大小过大或过大。新的 reflectable
包取代了 mirrors
而没有缺点,但我不知道序列化包是否已经被移植来使用它。还有使用代码生成的包。
有一个问题的答案列出了可用的解决方案。我回来的时候再看看。