如何为上述模式的Map集合类型表示JSON对象?

时间:2017-11-12 08:08:51

标签: java json

Map<String,String> c1=new HashMap();
c1.put("key1","value1");
c1.put("key2","value2");

Map<String,HashMap> c2=new HashMap();
c2.put("key11",c1);
c2.put("key12",c1);


Map<String,HashMap> c3=new HashMap();
c3.put("key111",c2);
c3.put("key112",c2);

我有以上格式的数据如何将其序列化为JSON对象,即如何在JSON中表示上述数据格式。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如何将其序列化为JSON对象?

更好地使用一些开源JSON库,如GSON,JACKSON等。我们正在使用GSON。

public class MyJson {
private static Gson gson = new Gson();
public static <T> T fromJson(Type type,
 TalosDeserializer deserializer,String json) {
     final GsonBuilder gsonBuilder = new GsonBuilder();
     gsonBuilder.registerTypeAdapter(type, deserializer);        
     final Gson gson = gsonBuilder.create();         
    return gson.fromJson(json,type);
}
public static String toJson(Object input) {
    return gson.toJson(input);
}
public static <T> T fromJson(String json, Class<T> classOfT) {
    return gson.fromJson(json, classOfT);
}

}