Hello! 欢迎来到小浪资源网!


后端Long类型字段转String后,前端JSON解析失败怎么办?


后端Long类型字段转String后,前端JSON解析失败怎么办?

过滤器修改响应体后,前端无法正常解析 json

使用过滤器修改返回的 json 响应体后,前端出现无法解析的问题。问题源于将 long 类型字段转换为 string 后,前端无法正确解析修改后的 json 数据。

源代码过滤器如下:

public class LongTypeFilter extends OncePerRequestFilter {      private final ObjectMapper objectMapper = new ObjectMapper();          // ... }

过滤器通过对响应内容缓存并进行修改后,再将其写回响应中。若响应体为 json 格式,过滤器会将 json 中的 long 类型字段转换为 String 类型。

立即学习前端免费学习笔记(深入)”;

为了解决前端无法正常解析的问题,可以考虑以下方案:

修改过滤器,使用 jackson2objectmapperbuildercustomizer 给 jackson 注册 long 序列化为 string 的序列化器,在序列化时直接转换 long 类型为 string。这样,即可避免对响应体进行二次解析和修改,也能确保前端正确解析 json 数据。

相关阅读