2015-08-08 65 views
2

嘗試運行此代碼以使用dartson在JSON中序列化對象時,在成員中使用double值時會生成堆棧溢出異常。 我該如何解決這個問題?將序列化爲JSON的堆棧溢出具有雙重成員的對象

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); 
    } 
+1

我想你應該在包的GitHub倉庫中創建一個bug報告。 –

回答

2

我想你的榜樣,它看起來像有一個與「數」定義的屬性用雙打的問題。請嘗試:

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上更新這個問題,並儘快看看它。