From 580d70b15ae47bc180a0b579af8c47c506eefac6 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 11 七月 2025 20:13:38 +0800 Subject: [PATCH] 修改 --- src/main/java/com/linghu/controller/AuthController.java | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/linghu/controller/AuthController.java b/src/main/java/com/linghu/controller/AuthController.java index 0761d8f..6d7e0c4 100644 --- a/src/main/java/com/linghu/controller/AuthController.java +++ b/src/main/java/com/linghu/controller/AuthController.java @@ -2,8 +2,13 @@ import java.util.HashMap; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.linghu.utils.OpenCryptUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -50,7 +55,7 @@ //open-crypt解析token @GetMapping("/parseToken") @ApiOperation(value = "解析token") - public ResponseEntity<?> parseToken(@RequestParam String token) { + public ResponseEntity<?> parseToken(@RequestParam String token) throws JsonProcessingException { if (token == null || "".equals(token)){ return ResponseEntity.ok("token为空"); } @@ -59,11 +64,19 @@ String decrypt = openCryptUtil.decrypt(token); System.out.println(decrypt); System.out.println("----------------"); - JSONObject jsonObject = JSONObject.parseObject(decrypt); + // 1. 去除外层多余的引号 + String jsonStr = decrypt.replaceAll("^\"|\"$", ""); + // 处理后:{"name":"ceshi"}(但实际可能仍包含转义字符) + // 2. 处理剩余的转义字符(将 \" 转换为 ") + jsonStr = jsonStr.replace("\\\"", "\""); + + // 3. 解析 JSON + ObjectMapper objectMapper = new ObjectMapper(); + String name = objectMapper.readTree(jsonStr).get("name").asText(); // 返回用户信息 - return ResponseEntity.ok(jsonObject.get("name")); + return ResponseEntity.ok(name); } @GetMapping("/getToken") -- Gitblit v1.7.1