12

JsonObjectGsonを使用して、送信する必要のあるデータを文字列の形式でフォーマットし、それを別の場所で取得して解析しています。これは機能していない私の単純なコードです:

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


}

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

4

1 に答える 1

17

次を使用する必要があります。

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

そこにはたくさんの呼び出しがありますが、要点はJsonParserクラスを使用することです。

于 2012-11-17T21:20:46.387 に答える