2012-11-17 9 views
11

私はJsonObjectGsonを使用して、Stringの形式で送信し、それを別の場所で取得して解析する必要があるデータを整形します。 これが動作していない私の簡単なコードです:GsonとJsonObjectを使用してデータをフォーマットして解析する

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 


} 

私はここで間違って何をしているのですか?

答えて

17

あなたは使用する必要があります。そこでの通話の

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

たくさんのが、要旨はJsonParserクラスを使用することです。

+0

クイックとポイントに...ありがとう:) – Jazib

関連する問題