使用 java 在 json 对象中添加字节数组



我有以下情况。它需要在Java中实现。

  1. 从文本文件中获取输入,将内容转换为字节数组。
  2. 使用上面的字节数组作为JSON对象的一部分,创建一个.json文件

对于第 1 点,我做了这样的事情。

InputStream is = new ClassPathresource("file.txt").getInputStream();
byte[] ip =  IOUtils.toByteArray(is);

对于 point2,我的 Json 文件(包含 json 对象(应如下所示。

{
"name": "xyz",
"address: "address here",
"ipdata": ""
}

ipdata应包含在步骤 1 中创建的字节数组。

如何使用步骤 1 中创建的字节数组作为其中的一部分创建一个 json 对象?然后将整个内容写入单独的 .json 文件?

此外,在步骤1中完成的字节数组转换是最佳方式,还是我们需要使用任何其他API(可能负责编码(?请指教。

任何帮助,不胜感激。提前谢谢。

  1. 您可以使用ip.toString()简单地转换字节数组 ip
  2. 或者,如果您知道编码,则可以使用ipString = new String(ip, "UTF8")

然后获取该字符串以添加到 json 对象中。

由于您正在从文件中读取 JSON 字符串并希望将其写回新的 json 文件,因此您不需要中间的 JSON 对象转换。只需将 byte[] 转换为字符串即可

String ips = new String(ip);

现在,使用要写入新文件的数据创建一个JSON对象。然后您可以使用FileWriter将数据写入文件。PFB 代码-

JSONObject obj = new JSONObject();
obj.put("name", "xyz");
obj.put("address", "address here");
obj.put("ipdata", ips);
try(FileWriter fileWriter =
new FileWriter("newFileName.json") ){
fileWriter.write(obj.toString());
}

相关内容

  • 没有找到相关文章

最新更新