json 转换器增加 toJsonString 方法

This commit is contained in:
click33
2022-04-26 19:11:48 +08:00
parent 26393d17dc
commit e320a8e45b
4 changed files with 46 additions and 1 deletions

View File

@@ -10,6 +10,14 @@ import java.util.Map;
*/
public interface SaJsonTemplate {
/**
* 将任意对象转换为 json 字符串
*
* @param obj 对象
* @return 转换后的 json 字符串
*/
public String toJsonString(Object obj);
/**
* 将 json 字符串解析为 Map
*

View File

@@ -12,11 +12,20 @@ import cn.dev33.satoken.exception.ApiDisabledException;
*/
public class SaJsonTemplateDefaultImpl implements SaJsonTemplate {
public static final String ERROR_MESSAGE = "未实现具体的 json 转换器";
/**
* 将任意对象转换为 json 字符串
*/
public String toJsonString(Object obj) {
throw new ApiDisabledException(ERROR_MESSAGE);
}
/**
* 将 json 字符串解析为 Map
*/
public Map<String, Object> parseJsonToMap(String jsonStr) {
throw new ApiDisabledException("未实现具体的 json 转换器");
throw new ApiDisabledException(ERROR_MESSAGE);
};
}

View File

@@ -20,6 +20,20 @@ public class SaJsonTemplateForJackson implements SaJsonTemplate {
* 底层 Mapper 对象
*/
public ObjectMapper objectMapper = new ObjectMapper();
/**
* 将任意对象转换为 json 字符串
*
* @param obj 对象
* @return 转换后的 json 字符串
*/
public String toJsonString(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new SaTokenException(e);
}
}
/**
* 将 json 字符串解析为 Map

View File

@@ -20,6 +20,20 @@ public class SaJsonTemplateForJackson implements SaJsonTemplate {
* 底层 Mapper 对象
*/
public ObjectMapper objectMapper = new ObjectMapper();
/**
* 将任意对象转换为 json 字符串
*
* @param obj 对象
* @return 转换后的 json 字符串
*/
public String toJsonString(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new SaTokenException(e);
}
}
/**
* 将 json 字符串解析为 Map