From b5a871689f492721d3bb14aa83810c54f5facd25 Mon Sep 17 00:00:00 2001 From: liangdaliang Date: Thu, 13 Mar 2025 11:22:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3gson=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E8=BD=AC=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/test/common/utils/JMeterUtil.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/test-common/src/main/java/com/test/common/utils/JMeterUtil.java b/test-common/src/main/java/com/test/common/utils/JMeterUtil.java index 6f1a27b..fa9f4ae 100644 --- a/test-common/src/main/java/com/test/common/utils/JMeterUtil.java +++ b/test-common/src/main/java/com/test/common/utils/JMeterUtil.java @@ -111,14 +111,20 @@ public class JMeterUtil { // 定义类型 Type type = new TypeToken>>() {}.getType(); // 解析 JSON 数组 - List> headerList = gson.fromJson(requestHeader, type); - // 将 List> 转换为 Map - for (Map entry : headerList) { - String key = entry.get("key"); - String value = entry.get("value"); - headerMap.put(key, value); + List> headerList = null; + try { + requestHeader = requestHeader.replaceAll(",\\s*\\[\\{\"key\":\"\",\"value\":\"\"\\}]", ""); + headerList = gson.fromJson(requestHeader, type); + // 将 List> 转换为 Map + for (Map entry : headerList) { + String key = entry.get("key"); + String value = entry.get("value"); + headerMap.put(key, value); + } + requestHeaderJson = gson.toJson(headerMap); + } catch (Exception e) { + logger.error("requestHeader gson.fromJson异常!requestHeader:" + requestHeader, e); } - requestHeaderJson = gson.toJson(headerMap); } HeaderManager headerManager = createHeaderManager(headerMap); @@ -522,6 +528,12 @@ public class JMeterUtil { } public static void main(String[] args) { +// String s = "[{\"key\":\"authorization\",\"value\":\"Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjhkZTZlMWYzLTU0YjMtNGM5MC05YTczLTA0NDkxYmE2NTZlNiJ9.oepUXspCPm6Gjjz3pXbs4O87p3ByemxxhRh5HXUFGK2x-lDb2uxdSRfITiE9LeDYQQNTD6UPYKPda2PWLyAUoA\"},[{\"key\":\"\",\"value\":\"\"}]]"; +// s = s.replaceAll(",\\s*\\[\\{\"key\":\"\",\"value\":\"\"\\}]", ""); +// Gson gson = new Gson(); +// // 定义类型 +// Type type = new TypeToken>>() {}.getType(); +// gson.fromJson(s, type); String paramJson = "{\"md5Value\":\"value1\",\"fileName\":\"value2\"}"; paramJson = "{\"name\":\"John\",\"city\":\"New York\",\"age\":30}"; String requestHeader = "{\"Content-Type\":\"application/json; charset=UTF-8\",\"Authorization\":\"Bearer token123\"}";