簡體   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