Использование Gson и JsonObject для форматирования и анализа данных

Я использую JsonObject и Gson для форматирования данных, которые мне нужно отправить форму String, а затем извлекать и анализировать ее где-то в другом месте. Это мой простой код, который не работает:

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


}

Что я здесь делаю неправильно?

Ответ 1

Вы должны использовать:

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

Здесь много вызовов, но суть состоит в том, чтобы использовать класс JsonParser.