我使用谷歌的GSON库,并希望创建一个JSON它看起来像这样的:{}是空集和地图分别为[]和而不是创建地图或设置使用GSON
{
"teamSet":[],
"classificationMap" : {}
}
公告用双引号包围。
我想使用GSON add/addproperty方法创建此Json,而不是使用Gson.toJson()方法将Java类转换为JSON。业务用例限制了我创建特定的Java类,因为JSON结构可能会超时更改。所以我不能使用一类这样的,因为这将牢固地扎一个JSON结构的具体类
class Linkage{
private Set<String> teamSet;
private Map<String, String> classificationMap;
// getter, setter methods follow
...
}
当我使用GSON.addproperty(genericObject,类型),它是围绕附加[]和双引号{ }。我为我的数据库要求使用了couchbase,[]和{}中的双引号使得couchbase将它们视为字符串而不是Set/Map。这使得我的地图,减少无用的意见和马车:(
请让我知道,如果可能,而不必与一个具体的Java类拴起来。由于建立这样一个JSON!
我当前的代码如下像这样:
// create types
Type setType = new TypeToken<Set<String>>() {}.getType();
Type mapType = new TypeToken<Map<String, String>>() {}.getType();
Gson GSON = new Gson();
Set<String> teams = new HashSet<String>();
Map<String, String> classificationMap = new HashMap<String, String>();
JsonObject linkageJson = new JsonObject();
linkageJson.addProperty("teamSet", GSON.toJson(teams, setType));
linkageJson.addProperty("classificationMap", GSON.toJson(classificationMap, mapType));
请发布代码如何添加设置和地图。 – 2014-12-05 05:15:12
请上传/接受我的回答 – 2014-12-05 08:55:49