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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1358)

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

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

对于point1我做了类似的事情。

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

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

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

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

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

也是在步骤1中完成的字节数组转换的最佳方式,还是我们需要使用任何其他API(可能是为了处理编码)?

提问于
用户回答回答于

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

String ips = new String(ip);

现在JSON使用要写入新文件的数据创建一个Object。然后可以使用将数据写入文件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());
}
用户回答回答于
  1. 可以使用简单地转换字节数组ip ip.toString()
  2. 或者,如果知道可以使用的编码 ipString = new String(ip, "UTF8")

然后将该字符串添加到您的json对象

扫码关注云+社区

领取腾讯云代金券