2012-11-17 21 views
11

Tôi đang sử dụng JsonObjectGson để định dạng dữ liệu tôi cần gửi dưới dạng Chuỗi rồi truy xuất và phân tích cú pháp ở nơi khác. Đây là mã đơn giản của tôi không hoạt động:Sử dụng Gson và JsonObject để định dạng và phân tích dữ liệu

public static void main(String[] args) 
{ 

    Gson g = new Gson(); 
    Gson listG = new Gson(); 
    ArrayList<String> l= new ArrayList<String>(); 
    l.add("abcd"); 
    l.add("efgh"); 
    l.add("ijkl"); 

    String list = listG.toJson(l); 

    JsonObject jObject = new JsonObject(); 
    jObject.addProperty("command" , 1); 
    jObject.addProperty("message" , "this is a test message"); 
    jObject.addProperty("list" , list); 

    String toSend = g.toJson(jObject); 
    System.out.println(toSend); 

    Gson rec = new Gson(); 
    JsonObject newObj = rec.fromJson(toSend, JsonObject.class); 
    System.out.println(newObj); // getting nothing in newObj 


} 

Tôi đang làm gì sai ở đây?

Trả lời

17

Bạn nên sử dụng:

JsonObject newObj = new JsonParser().parse(toSend).getAsJsonObject(); 

Rất nhiều cuộc gọi trong đó, nhưng thực chất là sử dụng lớp JsonParser.

+0

Nhanh chóng và cho điểm ... cảm ơn :) – Jazib

Các vấn đề liên quan