2016-03-17 6 views
1

У меня есть объект Java с id,text,body,title в качестве членов класса с соответствующими добытчиками и сеттеров и использовать Gson для преобразования POJO в JSonGson Формат вывода Json

Gson gson = new Gson(); 
String json = gson.toJson(object); 

Этот метод возвращает follwoing josn снабжать струной, тетивой и т.п.

{ 
     "id" : 1, 
     "text" : "Some text", 
     "body" : "Some text.", 
     "title" : "Some title." 
    } 

Как получить вышеуказанный json, завернутый следующим образом:

"i1":{ 
    "i2":{ 
     "id" : 1, 
     "text" : "Some text", 
     "body" : "Some text.", 
     "title" : "Some title." 
    } 
    } 
} 

Сейчас метод toString() просто пуст. Должно ли это быть изменено или должны быть i1 и i2 также членами класса?

+3

Один очень быстрый способ - «\ i1 \»: {\ "i2 \": "+ json +"}} ". – gfelisberto

+0

Это тоже работает :) – prem89

ответ

3

Вы можете обернуть объект с помощью JsonObjects, прежде чем превращаться в строку json. Что-то вроде этого:

JsonObject i1 = new JsonObject(); 
JsonObject i0 = new JsonObject(); 
i1.add("i2", gson.toJsonTree(object)); 
i0.add("i1", i1); 
String results = gson.toJson(i0); 
System.out.println("results=" + results); 
Смежные вопросы