diff --git a/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java b/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java index e5d34c4..8fb5489 100644 --- a/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java +++ b/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java @@ -37,15 +37,16 @@ public class ApiResponseAdvice implements ResponseBodyAdvice { String removeRootlessArrayKeyFormResponseBody(String body) { - if (body.startsWith(KJB_ROOTLESS_ARRAY)) { - body = body.substring(KJB_ROOTLESS_ARRAY.length()); + try { + Object root = JSONValue.parse(body); - if (body.endsWith("}")) { - body = body.substring(0, body.length() - 1); + if (root instanceof JSONObject && ((JSONObject) root).containsKey("KJB_ROOTLESS_ARRAY")) { + JSONArray jsonArray = (JSONArray) ((JSONObject) root).get("KJB_ROOTLESS_ARRAY"); + return jsonArray.toJSONString(); + } else { + return body; } - - return body; - } else { + } catch (Exception e) { return body; }