JsonObject.put() 中字符串莫名截断
在 JSON 字符串处理中,有时会遇到 JsonObject.put() 方法中插入的字符串被截断的情况。最近,有人在使用 Java 模拟接口请求时遇到了此问题。
现象如下:使用 Postman 调试接口请求一切正常,但在用 Java 模拟时,将两张图片 base64 编码后的字符串放入 JsonObject 中时,原本很长的字符串却被莫名截断成了 993 个字符。导致请求发送失败。
经过排查发现,这个问题并非由于代码错误或 JSON 解析问题,而是由于开发工具 IntelliJ IDEA 显示上的误导。IDEA 为了方便查看,有时只显示较长的字符串的前 993 个字符。当用户点击字符串的“值”属性时,可以发现完整的字符串仍然存在。
因此,当遇到 JsonObject.put() 中字符串被截断的情况时,可以尝试以下排雷方式:
如果以上方法均无法解决问题,则可能是 JSON 解析库或服务器端处理存在问题。