Stack Overflow序列化为JSON一个具有双成员的Object

时间:2015-08-08 14:30:15

标签: json dart dartson

尝试运行此代码以使用dartson在JSON中序列化对象时,在成员中使用double值时会生成Stack Overflow异常。 我该如何解决这个问题?

 import 'package:dartson/dartson.dart';


    @MirrorsUsed(targets:const['example'], override:'*')
    import 'dart:mirrors';

    @Entity()
    class GeoFence {
      String label;
      num latitude;
      num longitude;
      num radius;
    }


    main(List<String> args) {
      var dson = new Dartson.JSON();

      GeoFence object = new GeoFence()
        ..label = "test"
        ..latitude = 46.2
        ..longitude = 12
        ..radius = 10;


      String jsonString = dson.encode(object);
      print(jsonString);
    }

2 个答案:

答案 0 :(得分:2)

这是一个封闭的问题,但是double的序列化还不起作用GitHub issue

答案 1 :(得分:2)

我尝试了你的例子,看起来在&#34; num&#34;中使用了双打的问题。定义的属性。请尝试:

import 'package:dartson/dartson.dart';

@Entity()
class GeoFence {
  String label;
  double latitude;
  double longitude;
  double radius;
}


main(List<String> args) {
  var dson = new Dartson.JSON();

  GeoFence object = new GeoFence()
    ..label = "test"
    ..latitude = 46.2
    ..longitude = 12
    ..radius = 10;


  String jsonString = dson.encode(object);
  print(jsonString);
}

另请注意,使用dartson时不再需要@MirrorUsed注释。我将在github上更新问题,并尽快看一下。