微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Dart Serialization获取JSON序列化字符串

对于以下代码
var address = new Address();
address.street = 'N 34th';
address.city = 'Seattle';
var serialization = new Serialization()
 ..addRuleFor(address);
String output = serialization.write(address);

我如何获得像这样的json输出

address: {'street':'N 34th','city':'Seattle'}

以上代码产生的输出如下:

{"roots":[{"__Ref":true,"rule":3,"object":0}],"data":[[],[],[["Seattle","N 34th"]]],"rules":"{\"roots\":[{\"__Ref\":true,\"rule\":1,\"object\":0}],\"data\":[[],[[{\"__Ref\":true,\"rule\":4,\"object\":0},{\"__Ref\":true,\"rule\":3,\"rule\":5,\"rule\":6,\"object\":0}]],[[],[\"city\",\"street\"]],[[]],\"rule\":2,\"object\":1},\"\",\"object\":2},\"rule\":7,[\"Address\"]],\"rules\":null}"}

解决方法

您可以使用 JsonObject for Dart,将其添加到您的pubspec.yaml文件中,然后运行pub install(工具 – > Pub Install)
dependencies:
  json_object: 
    git: git://github.com/chrisbu/dartwatch-JsonObject.git

然后更改你的代码调用objectToJson:

import 'package:json_object/json_object.dart';

var address = new Address();
address.street = 'N 34th';
address.city = 'Seattle';
String output =  objectToJson(address);

请注意,objectToJson需要镜像支持(反射功能),该镜像只支持Dart VM.截至2012-12-20,dart2js不起作用.

原文地址:https://www.jb51.cc/js/152233.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐