2015-12-14 80 views
0

我有一个Java类对象:将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 
    } 
} 

我能够使用GSON罐子

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

JSON字符串我正在给对象转换成JSON是

{ errorCode:“404”, message:“page not found” }

但我要的是:

“TempClass”{ 错误码: “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); 

这是一种方便,快捷的方式,以达到你所需要的由于Google地图是由Gson开箱分析的,但要小心:如果您有更多像这样的属性,最好为此创建一个新类别