Convert Json To Byte Array Javascript

4 min read Jun 19, 2024
Convert Json To Byte Array Javascript

Konversi JSON ke Byte Array dalam JavaScript

Dalam pengembangan web dan aplikasi, kita seringkali perlu untuk mengubah data JSON ke format byte array untuk keperluan seperti transfer data, penyimpanan, atau pemrosesan data biner. JavaScript menyediakan beberapa cara untuk melakukan konversi ini. Berikut adalah beberapa metode yang umum digunakan:

1. Menggunakan TextEncoder

TextEncoder adalah API yang memungkinkan kita untuk mengkonversi string Unicode ke byte array. Berikut adalah contoh penggunaan TextEncoder untuk mengkonversi JSON ke byte array:

const jsonString = JSON.stringify({ name: "John Doe", age: 30 });

const encoder = new TextEncoder();
const byteArray = encoder.encode(jsonString);

console.log(byteArray); // Output: Uint8Array [123, 34, 110, 97, 109, 101, 34, 58, 34, 74, 111, 104, 110, 32, 68, 111, 101, 34, 44, 34, 97, 103, 101, 34, 58, 51, 48, 125]

Penjelasan:

  • JSON.stringify() mengubah objek JSON menjadi string.
  • TextEncoder() membuat objek TextEncoder yang digunakan untuk mengkonversi string ke byte array.
  • encode() mengembalikan byte array yang berisi data JSON dalam bentuk byte.

2. Menggunakan Uint8Array

Uint8Array adalah tipe data JavaScript yang merepresentasikan array byte unsigned 8-bit. Kita bisa menggunakan Uint8Array untuk membuat byte array dan mengisi dengan data JSON.

const jsonString = JSON.stringify({ name: "John Doe", age: 30 });

const byteArray = new Uint8Array(jsonString.length);
for (let i = 0; i < jsonString.length; i++) {
  byteArray[i] = jsonString.charCodeAt(i);
}

console.log(byteArray); // Output: Uint8Array [123, 34, 110, 97, 109, 101, 34, 58, 34, 74, 111, 104, 110, 32, 68, 111, 101, 34, 44, 34, 97, 103, 101, 34, 58, 51, 48, 125]

Penjelasan:

  • Uint8Array() membuat byte array dengan ukuran yang sama dengan panjang string JSON.
  • Loop for digunakan untuk mengiterasi setiap karakter dalam string JSON dan mendapatkan kode ASCII karakter tersebut.
  • Kode ASCII diubah menjadi byte dan disimpan dalam byte array.

3. Menggunakan Library Eksternal

Beberapa library JavaScript eksternal seperti js-base64 atau buffer dapat membantu dalam melakukan konversi JSON ke byte array dengan lebih mudah. Berikut adalah contoh penggunaan js-base64:

const jsonString = JSON.stringify({ name: "John Doe", age: 30 });

const byteArray = new Uint8Array(atob(jsonString).split('').map(char => char.charCodeAt(0)));

console.log(byteArray); // Output: Uint8Array [123, 34, 110, 97, 109, 101, 34, 58, 34, 74, 111, 104, 110, 32, 68, 111, 101, 34, 44, 34, 97, 103, 101, 34, 58, 51, 48, 125]

Penjelasan:

  • atob() mengonversi string base64 ke string biasa.
  • split('') memecah string menjadi array karakter.
  • map() digunakan untuk iterasi setiap karakter dan mendapatkan kode ASCII-nya.
  • Uint8Array() membuat byte array dari kode ASCII karakter.

Pilihan Metode:

  • TextEncoder adalah metode yang lebih sederhana dan mudah digunakan.
  • Uint8Array memberikan kontrol yang lebih besar atas proses konversi.
  • Library eksternal dapat menyediakan fungsionalitas tambahan dan lebih efisien.

Pilih metode yang sesuai dengan kebutuhan dan preferensi Anda.

Latest Posts