import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUrlParser {
public static void main(String[] args) {
String input = "你的字符串"; // 这里替换成你的字符串
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode node = mapper.readTree(input);
System.out.println("这是一个JSON对象:" + node.toString());
} catch (Exception e) {
System.out.println("这不是一个JSON对象,可能是一个URL:" + input);
}
}
}
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
private String jsonToContent(String contentJson, MessageTemplateVo messageTemplateVo) {
try {
if (StringUtils.isEmpty(contentJson) || Objects.isNull(messageTemplateVo) || Objects.isNull(messageTemplateVo.getPushTime()) || messageTemplateVo.getPushTime() == 0) {
return contentJson;
}
// 创建ObjectMapper实例
ObjectMapper objectMapper = new ObjectMapper();
// 解析JSON字符串为JSON对象
ObjectNode jsonObject = (ObjectNode) objectMapper.readTree(contentJson);
if (!jsonObject.has("pushTime")) {
jsonObject.put("pushTime", messageTemplateVo.getPushTime());
// 转换回JSON字符串
return objectMapper.writeValueAsString(jsonObject);
}
} catch (Exception e) {
log.info("jsonToContent这是一个url,contentJson: {}",contentJson);
return JSONObject.toJSONString(PayLoadDTO.builder().pushTime(messageTemplateVo.getPushTime()).jumpUrl(contentJson).build());
}
return contentJson;
}