将字节数组保存到BLOB后,如何在获取数据时将其转换为字符串?

问题描述 投票:0回答:1

在我的Oracle表中,我使用BLOB字段来保存字节数组,该数组最初是来自页面上用户输入的JSON字符串。

例如,这是客户端传递给服务器的内容:

“{ 'AD_ID_NBR': '440111111111177777'}”

在服务器端,它将被转换为字节数组并存储到BLOB中。

byte[] bytes = input.getUserInput();//userInput is byte[]
ps.setBlob(2, new ByteArrayInputStream(bytes));

将用户输入返回到客户端时,我需要反过来。

input.setUserInput(rs.getBlob("USER_INPUT").getBytes(1l, (int)rs.getBlob("USER_INPUT").length()));

然后在客户端我会得到:

“userInput”:“eydBRF9JRF9OQlInOic0NDAxMTExMTExMTExMjIyMjInfQ ==”

显然这不是我需要的。有些转换应该在这里完成。

我的问题是如何将此字符串转换为我之前保存的json字符串。谢谢。

java string oracle blob
1个回答
0
投票
    Blob blob = rs.getBlob("USER_INPUT");
    byte[] bdata = blob.getBytes(1, (int) blob.length());
    String s = new String(bdata);
© www.soinside.com 2019 - 2024. All rights reserved.