From 740bc07a2bdb21823cdb820e6f128d03e5c1a347 Mon Sep 17 00:00:00 2001
From: bamanker <27054792@qq.com>
Date: Mon, 5 Jan 2026 22:36:44 +0800
Subject: [PATCH] =?UTF-8?q?=E7=94=A8jackson=E6=9B=BF=E6=8D=A2fastjson?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 13 ++--
.../controller/PushDailyController.java | 62 ++++++++++++-------
.../dailylove/DailyLoveApplicationTests.java | 18 ------
3 files changed, 48 insertions(+), 45 deletions(-)
diff --git a/pom.xml b/pom.xml
index 2c3f097..6149bc7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
25
25
25
- 2.0.60
+
5.0.0
5.8.25
registry.cn-chengdu.aliyuncs.com/bamanker
@@ -60,11 +60,16 @@
spring-cloud-starter-openfeign
${openfeign.version}
+
- com.alibaba.fastjson2
- fastjson2
- ${fastjson.version}
+ tools.jackson.core
+ jackson-core
+
+
+
+
+
org.springframework.boot
spring-boot-starter-web
diff --git a/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java b/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java
index e9a8e2a..0f70562 100644
--- a/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java
+++ b/src/main/java/com/bamanker/dailylove/controller/PushDailyController.java
@@ -2,18 +2,18 @@ package com.bamanker.dailylove.controller;
import cn.hutool.core.date.ChineseDate;
import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson2.JSONObject;
import com.bamanker.dailylove.config.DailyLoveConfigure;
import com.bamanker.dailylove.domain.*;
import com.bamanker.dailylove.service.DataRemoteClient;
import com.bamanker.dailylove.service.WechatRequestClient;
import com.bamanker.dailylove.utils.DataUtils;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
-import jakarta.annotation.Resource;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -21,15 +21,20 @@ import java.util.Date;
@RestController
public class PushDailyController {
+ final
+ ObjectMapper mapper;
+
+
final
DataRemoteClient dataRemoteClient;
final
WechatRequestClient wechatRequestClient;
- public PushDailyController(DataRemoteClient dataRemoteClient, WechatRequestClient wechatRequestClient) {
+ public PushDailyController(DataRemoteClient dataRemoteClient, WechatRequestClient wechatRequestClient, ObjectMapper mapper) {
this.dataRemoteClient = dataRemoteClient;
this.wechatRequestClient = wechatRequestClient;
+ this.mapper = mapper;
}
/**
@@ -49,9 +54,11 @@ public class PushDailyController {
param1.setCity(DailyLoveConfigure.City_ID);
param1.setType("7");
String weatherResp = dataRemoteClient.getWeather(param1);
- JSONObject weatherJson = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getJSONArray("list").getJSONObject(1);
- String city = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getString("area");
- Weather weather = weatherJson.toJavaObject(Weather.class);
+ JsonNode weatherJson = mapper.readTree(weatherResp).get("result").get(0).get("list").get(1);
+ String city = mapper.readTree(weatherResp).get("result").get(0).get("area").asString();
+// JSONObject weatherJson1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getJSONArray("list").getJSONObject(1);
+// String city1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).getString("area");
+ Weather weather = mapper.treeToValue(weatherJson, Weather.class);
resultVo.setAttribute("tomorrow", new DataItem(weather.getDate() + " " + weather.getWeek(), DailyLoveConfigure.Color_tomorrow));
resultVo.setAttribute("city", new DataItem(city, DailyLoveConfigure.Color_city));
@@ -65,15 +72,18 @@ public class PushDailyController {
param2.setKey(DailyLoveConfigure.TianXin_Key);
String tipsResp = dataRemoteClient.getTips(param2);
- String tips = JSONObject.parseObject(tipsResp).getJSONArray("result").getJSONObject(0).getString("content");
+ String tips = mapper.readTree(tipsResp).get("result").get(0).get("content").asString();
+// String tips1 = JSONObject.parseObject(tipsResp).getJSONArray("result").getJSONObject(0).getString("content");
resultVo.setAttribute("tips", new DataItem(tips, DailyLoveConfigure.Color_tips));
String nightResp = dataRemoteClient.getNight(param2);
- String night = JSONObject.parseObject(nightResp).getJSONArray("result").getJSONObject(0).getString("content");
+ String night = mapper.readTree(nightResp).get("result").get(0).get("content").asString();
+// String night1 = JSONObject.parseObject(nightResp).getJSONArray("result").getJSONObject(0).getString("content");
resultVo.setAttribute("night", new DataItem(night, DailyLoveConfigure.Color_night));
String rainbowResp = dataRemoteClient.getRainbow(param2);
- String rainbow = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
+ String rainbow = mapper.readTree(rainbowResp).get("result").get(0).get("content").asString();
+// String rainbow1 = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
resultVo.setAttribute("rainbow", new DataItem(rainbow, DailyLoveConfigure.Color_dailyCn));
// String englishResp = dataRemoteClient.getDailyEnglish(param2);
@@ -127,9 +137,9 @@ public class PushDailyController {
String accessTokenResp = wechatRequestClient.getAccessToken(wechatTokenParam);
log.debug("accessTokenJson:{}", accessTokenResp);
- String token = JSONObject.parseObject(accessTokenResp).getString("access_token");
- String responseStr = wechatRequestClient.sendMsg(resultVo, token);
- return responseStr;
+ String token = mapper.readTree(accessTokenResp).get("access_token").asString();
+// String token1 = JSONObject.parseObject(accessTokenResp).getString("access_token");
+ return wechatRequestClient.sendMsg(resultVo, token);
}
@@ -144,9 +154,10 @@ public class PushDailyController {
param1.setCity(DailyLoveConfigure.City_ID);
param1.setType("1");
String weatherResp = dataRemoteClient.getWeather(param1);
+ JsonNode weatherJson = mapper.readTree(weatherResp).get("result").get(0);
+ Weather weather = mapper.treeToValue(weatherJson, Weather.class);
- Weather weather = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).toJavaObject(Weather.class);
-
+// Weather weather1 = JSONObject.parseObject(weatherResp).getJSONArray("result").getJSONObject(0).toJavaObject(Weather.class);
ResultVo resultVo = ResultVo.initializeResultVo(DailyLoveConfigure.Open_ID,
DailyLoveConfigure.Template_ID_Morning,
@@ -168,11 +179,13 @@ public class PushDailyController {
// resultVo.setAttribute("tips", new DataItem(tips, DailyLoveConfigure.Color_tips));
String morningResp = dataRemoteClient.getMorning(param2);
- String morning = JSONObject.parseObject(morningResp).getJSONArray("result").getJSONObject(0).getString("content");
+ String morning = mapper.readTree(morningResp).get("result").get(0).get("content").asString();
+// String morning1 = JSONObject.parseObject(morningResp).getJSONArray("result").getJSONObject(0).getString("content");
resultVo.setAttribute("morning", new DataItem(morning, DailyLoveConfigure.Color_morning));
String rainbowResp = dataRemoteClient.getRainbow(param2);
- String rainbow = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
+ String rainbow = mapper.readTree(rainbowResp).get("result").get(0).get("content").asString();
+// String rainbow1 = JSONObject.parseObject(rainbowResp).getJSONArray("result").getJSONObject(0).getString("content");
resultVo.setAttribute("rainbow", new DataItem(rainbow, DailyLoveConfigure.Color_dailyCn));
// String englishResp = dataRemoteClient.getDailyEnglish(param2);
@@ -228,9 +241,9 @@ public class PushDailyController {
String accessTokenResp = wechatRequestClient.getAccessToken(wechatTokenParam);
log.debug("accessTokenJson:{}", accessTokenResp);
- String token = JSONObject.parseObject(accessTokenResp).getString("access_token");
- String responseStr = wechatRequestClient.sendMsg(resultVo, token);
- return responseStr;
+ String token = mapper.readTree(accessTokenResp).get("access_token").asString();
+// String token1 = JSONObject.parseObject(accessTokenResp).getString("access_token");
+ return wechatRequestClient.sendMsg(resultVo, token);
}
@@ -240,9 +253,12 @@ public class PushDailyController {
* @param responseStr
*/
private void printPushLog(String responseStr) {
- JSONObject jsonObject = JSONObject.parseObject(responseStr);
- String msgCode = jsonObject.getString("errcode");
- String msgContent = jsonObject.getString("errmsg");
+ JsonNode jsonNode = mapper.readTree(responseStr);
+ String msgCode = jsonNode.get("errcode").asString();
+ String msgContent = jsonNode.get("errmsg").asString();
+// JSONObject jsonObject = JSONObject.parseObject(responseStr);
+// String msgCode1 = jsonObject.getString("errcode");
+// String msgContent1 = jsonObject.getString("errmsg");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("[ " + dateFormat.format(new Date()) + " ] : messageCode=" + msgCode + ",messageContent=" + msgContent);
}
diff --git a/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java b/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java
index 57a989c..6df95ea 100644
--- a/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java
+++ b/src/test/java/com/bamanker/dailylove/DailyLoveApplicationTests.java
@@ -1,26 +1,8 @@
package com.bamanker.dailylove;
-import cn.hutool.core.date.ChineseDate;
-import cn.hutool.core.date.DateUnit;
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson2.JSONObject;
-import com.bamanker.dailylove.config.DailyLoveConfigure;
-import com.bamanker.dailylove.domain.TianXinReqParam;
-import com.bamanker.dailylove.domain.Weather;
-import com.bamanker.dailylove.service.DataRemoteClient;
import lombok.extern.slf4j.Slf4j;
-import org.bouncycastle.util.Strings;
-import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
-import jakarta.annotation.Resource;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-import static com.bamanker.dailylove.utils.DataUtils.getBirthdays;
-
@SpringBootTest
@Slf4j
class DailyLoveApplicationTests {