繁体   English   中英

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

[英]Add byte array inside a json object using java

我有以下情况。 它需要用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 中创建的字节数组。

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

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

任何帮助表示赞赏。 提前致谢。

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

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

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

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());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM