我有以下情况。它需要在Java中实现。
- 从文本文件中获取输入,将内容转换为字节数组。
- 使用上面的字节数组作为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(可能负责编码(?请指教。
任何帮助,不胜感激。提前谢谢。
- 您可以使用
ip.toString()
简单地转换字节数组 ip - 或者,如果您知道编码,则可以使用
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());
}