暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Json序列化反序列化

羿起小憩 2021-11-23
674
  1. 序列化反序列化 


    序列化
    反序列化
    含义
    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>>() {
@Override
public 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 existed
map.put(in.nextName(), in.nextString());
}
in.endObject();
return map;
            }
@Override
public 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<StringObject> jsonMap = new LinkedHashMap<StringObject>();
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论