2011-04-11 104 views
0

我一直有麻烦此JSON对象序列化/反序列化正确:如何使用Gson API创建此JsonObject?

{ 
    series:[{ 
     data:[[long,int], ... ], 
     label:String 
    }, 
    ... 
    ], 
    options:{ 
     mouse:{track:true}, 
     xaxis:{noTicks:10}, 
     points:{show:true}, 
     lines:{show:true} 
    } 
} 

这里是我的尝试;然而,Gson似乎并不喜欢Json的做法,尽管Json确实做得很对。

class JsonBlock { 
    ArrayList<Series> series = new ArrayList(); 
    String options = "mouse:{track:true}," 
        + "xaxis:{noTicks:10}," 
        + "points:{show:true}," 
        + "lines:{show:true}"; 
    public String toString() { return String.format("series:%s,options:%s",series, options); } 
} 

class Series { 
    ArrayList<Data> data = new ArrayList(); 
    String label = ""; 
    public Series(String label, Data d) { this.label = label; data.add(d); } 
    public String toString() { return String.format("data:%s,label:%s", data, label); } 
} 

class Data { 
    long date = -1; 
    int qty = 0; 
    public Data(long date, int qty) { this.date = date; this.qty = qty; } 
    public String toString() { return date + "," + qty; } 
} 

任何提示或答案赞赏。谢谢:)

回答

1

它非常直截了当,看看这个:

Java Arraylist Data extraction

+0

我已经尝试了很多的页面上的建议,但他们都不帮我修复的错误反序列化。它正确序列化(toJson);然而,它无法获取该序列化的字符串并将其反序列化。 – 2011-04-12 06:18:00

+0

问题出在反序列化列表。无论如何,Gson 1.7只是修正了整个错误,哈哈!活泉 – 2011-04-13 00:50:28