|
@@ -146,19 +146,25 @@ public class WeChatUtil {
|
|
|
String result = HttpUtil.post(urlStr, param1.toString());
|
|
|
|
|
|
log.info("getFollowers-获取关注量请求参数:{}", param1);
|
|
|
- Map<?, ?> map = JSONObject.parseObject(result, Map.class);
|
|
|
- log.info("getFollowers-获取关注量返回:{}", map);
|
|
|
|
|
|
- Object listObj = map.get("list");
|
|
|
- if (listObj == null || listObj.toString().equals("[]")) {
|
|
|
- return "0"; // 空数据,默认返回 0
|
|
|
+ cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(result);
|
|
|
+ log.info("getFollowers-获取关注量返回:{}", jsonObject);
|
|
|
+
|
|
|
+ Object listObj = jsonObject.get("list");
|
|
|
+ if (listObj == null || JSONUtil.isNull(listObj)) {
|
|
|
+ return "0";
|
|
|
}
|
|
|
+
|
|
|
JSONArray list;
|
|
|
try {
|
|
|
if (listObj instanceof JSONArray) {
|
|
|
list = (JSONArray) listObj;
|
|
|
} else if (listObj instanceof String) {
|
|
|
- list = JSONUtil.parseArray(listObj.toString()); // 使用 Hutool 转换字符串为 JSONArray
|
|
|
+ list = JSONUtil.parseArray(listObj.toString());
|
|
|
+ } else if (listObj.getClass().getName().contains("ArrayList")) {
|
|
|
+ // 如果是 FastJSON 返回的 ArrayList,转换为 JSON 字符串后再解析
|
|
|
+ String jsonArrayStr = JSONUtil.toJsonStr(listObj);
|
|
|
+ list = JSONUtil.parseArray(jsonArrayStr);
|
|
|
} else {
|
|
|
throw new ServiceException("返回数据格式错误,list字段无法识别");
|
|
|
}
|
|
@@ -166,11 +172,13 @@ public class WeChatUtil {
|
|
|
log.error("解析list字段失败: {}", listObj, e);
|
|
|
return "0";
|
|
|
}
|
|
|
+
|
|
|
if (list.isEmpty()) {
|
|
|
return "0";
|
|
|
}
|
|
|
- JSONObject jsonObject = (JSONObject) list.get(0);
|
|
|
- return (String) jsonObject.get("new_user");
|
|
|
+
|
|
|
+ cn.hutool.json.JSONObject jsonObjectItem = list.getJSONObject(0);
|
|
|
+ return jsonObjectItem.getStr("new_user");
|
|
|
}
|
|
|
|
|
|
/**
|