Serialization 如何使用序列化包

Serialization 如何使用序列化包,serialization,dart,dart-mirrors,Serialization,Dart,Dart Mirrors,我想将我的类转换为映射,所以我使用序列化包。从这个例子来看,它看起来很简单: var地址=新地址; address.street='n34'; address.city=‘西雅图’; var序列化=新序列化 …addRuleForAddress; 映射输出=serialization.writeaddress; 我希望看到像{'street':'n34','city':'Seattle}这样的输出,但它只是输出一些我不知道的东西 (3)数据:[[[[,[,[,[,[,[,,[,[,(西雅图,第3

我想将我的类转换为映射,所以我使用序列化包。从这个例子来看,它看起来很简单:

var地址=新地址; address.street='n34'; address.city=‘西雅图’; var序列化=新序列化 …addRuleForAddress; 映射输出=serialization.writeaddress; 我希望看到像{'street':'n34','city':'Seattle}这样的输出,但它只是输出一些我不知道的东西

(3)数据:[[[[,[,[,[,[,[,,[,[,(西雅图,第34个州的第3个州的第3个州的[[3]]]]的,规则::{{根:[{{根:[{{0\uuuuu0参考参考:真实,规则:真实,规则:真实,规则:根:[{{{{{{{uuuuuuuuu0参考:真实,参考:真实,参考:真实,规则:真实,规则:真实,规则:真实,规则:真实,规则:真实,规则,规则:真实,规则,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,规则:1,1,规则:1,规则:1,对象:1,规则:1,规则:1,对象:1,规则:1,规则:1,0,规则:0,[]][[{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

新地址创建了一个完整的原型对象,这就是您所看到的。也就是说,他们本可以做一些事情来避免其中的一部分,但如果您想按原样还原对象,这是必要的

要查看对象的完整内容,请按以下方式使用for指令:

for(obj in idx) alert(obj[idx]);
您将看到,您以这种方式获得了大量数据。如果没有新地址,情况可能不会那么糟。

新地址创建了一个完整的原型对象,这就是您所看到的。也就是说,他们本可以做一些事情来避免部分数据,但如果您想按原样还原对象,这是必要的

要查看对象的完整内容,请按以下方式使用for指令:

for(obj in idx) alert(obj[idx]);

您将看到,您以这种方式获得了大量数据。如果没有新地址,情况可能不会那么糟。

序列化不应该创建人类可读的输出。也许JSON输出更符合您的要求:

导入省道:转换; { var地址=新地址; …address.street='N 34'; …address.city='西雅图'; var encoded=JSON.encodeaddress,mirrorJson; } 映射mirrorJsono{ 地图=新地图; InstanceMirror im=反射; ClassMirror cm=im.type; var decls=cm.declarations.values.wheredm=>dm是VariableMirror; 十二月份{ var key=MirrorSystem.getNamedm.simpleName; var val=im.getFielddm.simpleName.reflectee; map[key]=val; }; 返回图; }
序列化不应创建人类可读的输出。也许JSON输出更符合您的要求:

导入省道:转换; { var地址=新地址; …address.street='N 34'; …address.city='西雅图'; var encoded=JSON.encodeaddress,mirrorJson; } 映射mirrorJsono{ 地图=新地图; InstanceMirror im=反射; ClassMirror cm=im.type; var decls=cm.declarations.values.wheredm=>dm是VariableMirror; 十二月份{ var key=MirrorSystem.getNamedm.simpleName; var val=im.getFielddm.simpleName.reflectee; map[key]=val; }; 返回图; }
序列化在这里帮不了你


您可以尝试使用该库,也可以深入解释如何使用镜像执行您正在尝试执行的操作。

序列化在这里对您没有帮助


您可能会尝试使用库,并可能会深入解释如何使用镜像执行您尝试执行的操作。

1此示例将对象转换为json。是否有一个表单可以使用json.decode将json转换为对象?2它使用的是dart:mirror。使用dart2js转换为JavaScript时使用。1此示例将对象转换为json、 是否有一个表单可以使用json.decode将json转换为对象?2它使用的是dart:mirror。使用dart2js转换为JavaScript时可以使用它?