2015-12-14 7 views
0

У меня есть класс Java Object:Преобразовать объект Java в Json Строку

class TempClass { 
@Expose 
String errorCode 
@Expose 
String message 
String name 
String cause 

TempClass(String errorCode, String message) { 
    this.errorCode = errorCode 
    this.message = message 
    } 
} 

Я способен преобразовать объект в JSON с помощью GSON баночки

TempClass t = new TempClass("404","page not found") 
GsonBuilder builder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation() 
String json = builder.create().toJson(t); 

JSON Струнного Я получаю

{ ERRORCODE: "404", сообщение: "страница не найдена" }

Но что я хочу это:

"TempClass" { ERRORCODE: "404", сообщение: "Страница не найдена" }

Или лучше, если есть любой другой сложный способ, где я могу сопоставить «tempClass» (или любое другое свойство) во что-то другое.

ответ

0

Вы можете попробовать создать карту, где «tempClass» является ключевым и ваш объект TempClass это значение, например:

TempClass t = new TempClass("404","page not found") 
Map<String, Object> map = new Hashmap<String, Object>(); 
map.put("tempClass", t); 
GsonBuilder builder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation() 
String json = builder.create().toJson(map); 

Это своего рода легкий и быстрый способ добиться того, что вам нужно из-за того, что карты разобраны Gson, но будьте осторожны: в случае, если у вас есть больше свойств, подобных этому, было бы лучше создать новый класс для этого

Смежные вопросы