2011-04-21 91 views
1

如何用Java中的Gson解析这个特定的json字符串?如何解析包含gson列表的json字符串?

{"orders":[{"oid":"347","status":"1"},{"oid":"348","status":"1"}],"a":14.15,"b":0} 

有什么问题是订单列表。

我想我们必须对Gson.parse(json,type-toke)使用“type token”参数,但是我不清楚这是如何实现的。

回答

3

您必须创建它可以映射到的Java类型。所以,你会有这样的事情。

public class Result { 
    private List<Order> orders; 
    private Number a; 
    private Number b; 

    // getter and setter for orders, a, and b 
} 

public class Order { 
    private Number oid; 
    private Number status; 
    // getter and setter for oid and status 
} 

然后,你可以做解析的东西,如

Result result = gson.fromJson(yourSring, Result.class); 

警告,这是未编译的,未经测试的代码,但应该让你接近。

+0

This Works。我认为这会涉及更复杂的事情。 – 2011-04-21 20:25:19

+0

幸好没有:) – digitaljoel 2011-04-21 20:32:24

+0

请问这也是保持列表的顺序吗? 意味着如果我会执行'orders.get(0).getOid()',那么它会返回347? – thekosmix 2013-07-23 09:11:27