All Products
Search
Document Center

DataWorks:Penguraian JSON

Last Updated:Feb 27, 2026

DataWorks Data Integration memungkinkan Anda menggunakan Komponen Penguraian JSON dalam Tugas sinkronisasi real-time tabel tunggal untuk mengurai data JSON dari Sumber menjadi data tabel terstruktur.

Buat dan konfigurasikan komponen penguraian JSON

Langkah 1: Konfigurasikan tugas integrasi data

  1. Buat sumber data. Untuk informasi selengkapnya, lihat Manajemen sumber data.

  2. Buat Tugas Data Integration. Untuk informasi selengkapnya, lihat Konfigurasikan tugas sinkronisasi real-time tabel tunggal.

    Catatan

    Untuk tugas sinkronisasi real-time tabel tunggal dalam Data Integration, Anda dapat menambahkan node pemrosesan data di antara node Sumber dan Tujuan. Untuk informasi selengkapnya, lihat Sumber data dan solusi sinkronisasi yang didukung.

Langkah 2: Tambahkan komponen penguraian JSON

  1. Dalam Tugas sinkronisasi real-time tabel tunggal Anda, aktifkan opsi Data Processing, klik +Add Node, lalu pilih Komponen JSON Parsing.

  2. Masukkan nama dan deskripsi untuk Node tersebut, lalu konfigurasikan Komponen Penguraian JSON.

    Penting

    Untuk mengambil struktur data JSON, lakukan terlebih dahulu Data Sampling pada Sumber, seperti Kafka.

    Bidang tetap

    • Ambil data JSON terformat.

      Method

      Description

      Illustration

      Get JSON from data sampling

      Setelah melakukan Data Sampling, klik Add Fixed Field For JSON Parsing untuk membuka kotak dialog Fixed Field For JSON Parsing. Dari daftar Select Field, pilih Field sumber yang berisi data JSON. Kemudian, klik Get JSON Data Structure untuk mengambil struktur tersebut.

      image

      Get JSON from manual input

      Jika Anda belum melakukan Data Sampling atau data sumber kosong, Anda dapat memberikan struktur JSON secara manual.

      Klik tombol Edit JSON Text untuk membuka editor. Di jendela Edit JSON Text, masukkan konten JSON Anda, lalu klik Return to Selection untuk memilih Field.

      image

      Uraikan Node Daun

      • Dalam tampilan JSON Data Structure terformat, klik ikon PixPin_2026-02-25_17-39-24 di sebelah bidang daun. Aturan penguraian yang sesuai akan ditambahkan secara otomatis ke bagian Fixed Output Fields.PixPin_2026-02-25_17-46-35

      • Contoh tabel yang dihasilkan dari penguraian Leaf Nodes.

      • image

      Uraikan Objek JSON

      PixPin_2026-02-25_17-48-36

      Dalam tampilan JSON Data Structure, temukan bidang target yang ingin Anda uraikan. Jika Anda memilih JSON Object, seperti bidang address dalam contoh JSON, klik ikon PixPin_2026-02-25_17-39-24 di sebelahnya. Kotak dialog akan muncul dengan opsi penguraian berikut:

      • Tambahkan setiap pasangan kunci-nilai dalam objek JSON sebagai bidang terpisah. Kunci digunakan sebagai nama bidang dan diberi nilai yang sesuai.

      • Tambahkan seluruh objek JSON sebagai satu bidang. Nilainya adalah string JSON dari objek tersebut.

      • Opsi

        Tindakan

        Hasil

        Pilih Tambahkan setiap pasangan kunci-nilai di objek JSON sebagai bidang terpisah. Kunci digunakan sebagai nama bidang, dan nilai yang sesuai ditetapkan.

        Opsi ini mengurai objek menjadi tiga bidang: street, city, dan zip, dengan nilai yang sesuai.

        PixPin_2026-02-25_17-49-18

        Pilih Add the entire JSON object as a single field. The value is the JSON string of the object.

        Opsi ini mengurai seluruh objek address menjadi satu bidang. Nilai bidang ini berisi pasangan kunci-nilai street, city, dan zip.

        PixPin_2026-02-25_17-51-11

        image

      Uraikan Array JSON

      Dalam tampilan JSON Data Structure, pilih bidang target. Jika Anda memilih JSON Array, kotak dialog akan muncul dengan opsi penguraian berikut:

      • Tambahkan array sebagai output multi-baris.

      • Tambahkan seluruh array sebagai satu bidang. Nilainya adalah string JSON dari array tersebut.

      Opsi

      Tindakan

      Hasil

      Menggunakan contoh JSON, klik ikon PixPin_2026-02-25_17-39-24 di sebelah bidang array dan pilih Add the array as a multi-row output. di kotak dialog.

      PixPin_2026-02-25_20-43-13

      image

      Menggunakan contoh JSON, klik ikon PixPin_2026-02-25_17-39-24 di sebelah bidang array1 dan array2, lalu pilih Add the array as a multi-row output.

      Catatan

      Opsi ini tidak mengurai secara rekursif array bersarang dalam pasangan kunci-nilai dari array utama.

      PixPin_2026-02-25_20-39-33

      image

      Menggunakan contoh JSON, klik ikon PixPin_2026-02-25_17-39-24 di sebelah bidang array dan pilih Add the entire array as a single field. The value is the JSON string of the array.

      PixPin_2026-02-25_20-42-30

      image
    • Sebagai alternatif, klik Add A Field untuk menambahkan bidang secara manual. Gunakan opsi ini jika Anda tidak dapat mengambil nilai dari bidang hulu atau belum menyediakan contoh JSON. Untuk menentukan aturan penguraian, edit secara manual path nilai untuk mengambil konten JSON. Parameter dijelaskan di bawah ini:

      Parameter

      Deskripsi

      Field Name

      Nama bidang baru yang dirujuk oleh Node hilir.

      Value

      Menentukan path JSON untuk penguraian. Sintaksnya sebagai berikut:

      • $: Mewakili Root Node.

      • .: Mewakili Child Node.

      • []: [number] menentukan indeks array, dimulai dari 0.

      • [*]: Memperluas array menjadi beberapa baris. Setiap elemen digabungkan dengan bidang lain dalam catatan untuk membentuk baris terpisah yang dikirim ke Node hilir.

      Catatan

      Nama bidang JSON dalam path hanya boleh berisi huruf, angka, tanda hubung (-), dan garis bawah (_).

      Default Value

      Nilai default yang digunakan ketika path JSON tidak ada, misalnya karena perubahan pada bidang tabel hulu.

      • NULL: Menetapkan nilai bidang menjadi NULL.

      • Do Not Fill: Bidang tidak diisi. Berbeda dengan NULL, jika bidang yang sesuai di tabel tujuan memiliki nilai default yang dikonfigurasi, nilai default tersebut akan digunakan alih-alih NULL.

      • Dirty Data: Catatan tersebut dihitung sebagai Dirty Data untuk tugas sinkronisasi. Tugas mungkin berhenti berdasarkan pengaturan toleransi dirty data Anda.

      • Masukkan konstanta secara manual: Menggunakan konstanta yang ditentukan pengguna sebagai nilai bidang.

      image

    Bidang dinamis

    • Dalam tampilan JSON terformat, pilih objek JSON target yang ingin Anda uraikan secara dinamis. Sistem secara otomatis menambahkan konfigurasi penguraian untuk setiap bidang di bawah objek JSON tersebut.

    • Saat Tugas dijalankan, sistem memproses setiap bidang dalam path objek JSON yang ditentukan. Sistem menggunakan nama dan nilai bidang JSON asli (sebagai STRING) lalu menambahkannya ke catatan sebelum mengirimkannya ke Node hilir. Hal ini memastikan bahwa setiap perubahan struktur atau bidang baru yang ditambahkan selama sinkronisasi secara otomatis teridentifikasi dan diteruskan ke hilir.

    • Ambil data JSON terformat.

      Metode

      Deskripsi

      Ilustrasi

      Ambil JSON dari pengambilan sampel data

      Setelah pengambilan sampel data, klik Add Dynamic Field For JSON Parsing untuk membuka kotak dialog Dynamic Output Field For JSON Parsing. Pilih bidang sumber dari daftar, lalu klik Get JSON Data Structure untuk mengambil struktur data JSON.

      image

      Ambil JSON dari input manual

      Jika Anda belum melakukan pengambilan sampel data atau data sumber kosong, Anda dapat memberikan JSON secara manual.

      Klik tombol Edit JSON Text, masukkan konten JSON Anda, lalu klik Return to Selection untuk memilih bidang.

      image

    • Uraikan Objek JSON secara dinamis

      • Konfigurasi:

        image

      • Asumsikan bidang baru, c3, ditambahkan ke objek dynamic. Tabel berikut membandingkan hasil penguraian:

        _value_(STRING)

        c1(STRING)

        c2(STRING)

        c3(STRING)

        {
            "dynamic": {
                "c1": 2,
                "c2": ["a1","b1"]
            }
        }

        2

        ["a1","b1"]

        Tidak diisi

        {
            "dynamic": {
                "c1": 2,
                "c2": ["a1","b1"],
                "c3": {"name": "jack"}
            }
        }

        2

        ["a1","b1"]

        {"name": "jack"}

    • Tambahkan Bidang Secara Manual.

      Anda dapat menentukan aturan penguraian bidang dinamis secara manual ketika tidak dapat mengambil nilai dari hulu atau belum menyediakan contoh JSON. Sesuaikan aturan tersebut dengan mengedit secara manual path ke objek JSON:

      Parameter

      Deskripsi

      Specify JSON Object

      Menentukan path ke objek JSON untuk penguraian dinamis. Sintaksnya sebagai berikut:

      • $: Mewakili Root Node.

      • .: Mewakili Child Node.

      • []: [number] menentukan indeks array, dimulai dari 0.

      Catatan: Nama bidang JSON dalam path hanya boleh berisi huruf, angka, tanda hubung (-), dan garis bawah (_).

      Default Value

      Menentukan perilaku ketika path JSON gagal diselesaikan atau objek yang sesuai tidak ada.

      • Ignore: Penguraian dinamis tidak dilakukan.

      • Dirty Data: Catatan tersebut dihitung sebagai Dirty Data untuk tugas sinkronisasi. Tugas mungkin berhenti berdasarkan pengaturan toleransi dirty data Anda.

    • Kebijakan penanganan nama bidang duplikat.

      Saat objek JSON dinamis diekspansi, hanya pasangan kunci-nilai tingkat pertama yang diproses. Kebijakan ini menentukan cara menangani konflik jika bidang yang diekspansi memiliki nama yang sama dengan bidang yang sudah ada. Kebijakan tersebut adalah sebagai berikut:

      • Overwrite: Nilai bidang baru yang diekspansi menggantikan nilai bidang yang sudah ada.

      • Discard: Nilai bidang yang sudah ada dipertahankan, dan nilai bidang baru yang diekspansi dibuang.

      • Error: Tugas berhenti dan melaporkan error.

Langkah selanjutnya

Setelah Anda mengonfigurasi Node Source dan JSON Parsing, klik Run Simulation untuk melihat pratinjau data keluaran dari Node saat ini dan memverifikasi bahwa data tersebut memenuhi kebutuhan Anda.