序列化反序列化
序列化 反序列化 含义 Java 对象转换为JSON 字符串 JSON字符串转变成Java对象 方法 toJson()用于序列化,序列化会改变字符的顺序 fromJson() 用于反序列化,反序列化的时候需要指出参数类型
创建Gson实例
public static Map<String, Object> jsonString2map(String strJson) throws ResourceFilterException {Gson gson = new GsonBuilder().registerTypeAdapter(Map.class, new TypeAdapter<HashMap<String, Object>>() {@Overridepublic HashMap<String, Object> read(JsonReader in) throws IOException {final HashMap<String, Object> map = new LinkedHashMap<>();in.beginObject();while (in.hasNext()) {// replace the value if the key is existedmap.put(in.nextName(), in.nextString());}in.endObject();return map;}@Overridepublic void write(JsonWriter out, HashMap<String, Object> value) throws IOException {out.beginObject();for (Map.Entry<String, Object> entry : value.entrySet()) {out.name(entry.getKey()).value((String) entry.getValue());}out.endObject();}}).create();Map<String, Object> jsonMap = new LinkedHashMap<String, Object>();try {jsonMap = gson.fromJson(strJson, new TypeToken<Map<String, String>>() {}.getType());} catch (Exception e) {}}
带格式序列化,但是会改变Map中字符串的顺序
public static String map2Json(Map<String, String> map) {Gson gson = new GsonBuilder().setPrettyPrinting().create();return gson.toJson(map);}
不带格式的序列化方法
public static String map2Json(Map<String, String> map) {Gson gson = new GsonBuilder().create();return gson.toJson(kvMap);}
文章转载自羿起小憩,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




