java – 用于将Byte数组转换为String的Jackson Custom Mapper

前端之家收集整理的这篇文章主要介绍了java – 用于将Byte数组转换为String的Jackson Custom Mapper前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我对杰克逊来说是一个令人难以置信的新手,我在理解如何完成某些事情时遇到了问题.

我有一些类型为byte []的数据(数据在JAXB生成的类中).在将数据发送到浏览器之前,Jackson然后(我相信)将其转换为JSON,以便网页可以使用它.到目前为止,至少这是我粗略的理解.

JSON数据将我的byte []显示为字符串,与我们想要的显示不匹配.例如,实际数据可能是CAFEDEAD,但JSON字符串看起来像3q2 78r.我希望JSON包含字符串CAFEDEAD

我的问题是,我可以为杰克逊创建自定义内容,在创建最终的JSON之前,将byte []数据转换为可读的十六进制字符串吗?或者如果没有,我还有其他选择吗?

我可以访问javascript,所以如果有办法将JSON字符串重新打开,我也可以使用它.

最佳答案
Jackson将byte []转换为Base64编码的二进制数据.这是传递二进制内容的安全方法.否则,无法知道包含的数据可能使用哪个字符编码,因此尝试从中构建String会有风险且容易出错.

因此,最简单的方法是将接收器base64解码内容重新转换为二进制数据.

您也可以添加自定义序列化器以转换为其他表示形式(十六进制,base85),但这实际上取决于目标是什么.

原文链接:https://www.f2er.com/js/429730.html

猜你在找的JavaScript相关文章