簡體   English   中英

將字節數組轉換為 JSONArray 的簡單方法

[英]simple way to convert byte array to JSONArray

我有一個從 JSONArray 轉換而來的字節數組。 現在如何將其轉換回 JSONArray。 有沒有簡單的庫來做到這一點。 或者我必須像這篇文章所說的那樣使用 base64 嗎? 這是將 JSONArray 轉換為 bytearray 的代碼:

JSONArray arr = //some value;
byte[] bArr = arr.toString().getBytes();

由於您在將 Json 數組字符串轉換為字節時沒有指定任何CharSet 只需使用:

   arr = new JSONArray(new String(bArr));

在 json 中發送二進制文件的典型方法是對它進行 base64 編碼。 Java 提供了不同的 Base64 編碼和解碼字節 [] 的方法。 其中之一是DatatypeConverter。

很簡單

byte[] originalBytes = new byte[] { 1, 2, 3, 4, 5};
String base64Encoded = DatatypeConverter.printBase64Binary(originalBytes);
byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded);
private JsonArray convertByteArrayToJsonArray(byte[] yourByteArray) throws IOException {
        try (ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(yourByteArray))) {
            zipInputStream.getNextEntry();
            try (JsonReader reader = Json.createReader(zipInputStream)) {
                return reader.readArray();
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM