All Products
Search
Document Center

DataWorks:Penguraian JSON

Last Updated:Apr 23, 2026

Dalam task sinkronisasi real-time satu tabel DataWorks Data Integration, Anda dapat menggunakan komponen penguraian JSON untuk mengurai data JSON dari sumber menjadi data tabel yang sesuai.

Buat dan konfigurasikan komponen penguraian JSON

Langkah 1: Mengonfigurasi tugas Data Integration

  1. Buat sumber data. Untuk informasi selengkapnya, lihat Data source management.

  2. Buat task Data Integration. Untuk informasi selengkapnya, lihat Configure a single-table real-time synchronization task.

    Catatan

    Untuk task Data Integration real-time satu tabel, Anda dapat menambahkan komponen pemrosesan data di antara komponen sumber dan tujuan. Untuk informasi selengkapnya, lihat Supported data sources and synchronization solutions.

Langkah 2: Tambahkan komponen penguraian JSON

  1. Dalam task sinkronisasi real-time satu tabel, aktifkan sakelar Data Processing, klik +Add Node, lalu tambahkan komponen JSON Parsing.

  2. Masukkan nama dan deskripsi untuk node tersebut, lalu konfigurasikan komponen penguraian JSON.

    Penting

    Untuk mendapatkan struktur data JSON, Anda harus terlebih dahulu menyelesaikan Data Sampling pada komponen data sumber (misalnya Kafka).

    Tambahkan bidang penguraian JSON tetap

    • Dapatkan data JSON yang telah diformat.

      JSON source

      Description

      Illustration

      Dapatkan data JSON dari data sampling

      Setelah melakukan data sampling, klik Add Fixed Parsing Field. Di kotak dialog JSON Fixed Parsing Field, pilih bidang sumber lalu klik Get JSON Structure untuk mengambil struktur JSON.

      image

      Dapatkan data JSON yang dimasukkan secara manual

      Jika Anda belum melakukan data sampling atau data sumber kosong, Anda dapat mengedit bidang secara manual:

      Klik tombol Edit JSON Text untuk masuk ke mode edit. Di jendela Edit JSON Text, masukkan konten JSON secara manual, lalu klik Back to Selection untuk memilih bidang.

      image

      Urai node daun

      • Di tampilan JSON Data Structure, klik ikon PixPin_2026-02-25_17-39-24 untuk memilih node 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 node daun dalam JSON.

      Urai objek JSON

      PixPin_2026-02-25_17-48-36

      Di tampilan JSON Data Structure, pilih bidang target yang akan diurai. Jika Anda memilih objek JSON, misalnya dengan mengklik ikon PixPin_2026-02-25_17-39-24 di samping bidang address, sebuah kotak dialog akan muncul. Anda kemudian dapat memilih salah satu metode 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 tunggal. Nilainya adalah string JSON dari objek tersebut.

      • Option

        Illustration

        Parsing result

        Pilih Tambahkan setiap pasangan kunci-nilai dalam objek JSON sebagai bidang terpisah, dengan kunci sebagai nama bidang dan nilai sebagai nilai yang sesuai.

        Ini mengurai objek menjadi tiga bidang: street, city, dan zip, masing-masing diberi nilai yang sesuai.

        PixPin_2026-02-25_17-49-18

        Pilih Add the entire JSON object as a single field with the value being the object's json string.

        Ini mengurai seluruh objek address menjadi satu catatan data. Nilai bidang ini adalah string JSON yang berisi kunci street, city, dan zip.

        PixPin_2026-02-25_17-51-11

      Urai array JSON

      Di tampilan JSON Data Structure, pilih bidang target yang akan diurai. Jika Anda memilih array JSON, sebuah kotak dialog akan muncul. Anda dapat memilih salah satu metode penguraian berikut:

      • Tambahkan array sebagai output multi-baris.

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

      Option

      Illustration

      Parsing result

      Untuk JSON pada ilustrasi, klik ikon PixPin_2026-02-25_17-39-24 di samping bidang array dan pilih Add array as multi-row output di kotak dialog.

      PixPin_2026-02-25_20-43-13

      Untuk JSON pada ilustrasi, klik ikon PixPin_2026-02-25_17-39-24 di samping bidang array1 dan array2 lalu pilih Add array as multi-row output di kotak dialog.

      Catatan

      Jika suatu array berisi objek, dan nilai di dalam objek tersebut juga merupakan array, array bersarang ini tidak diurai.

      PixPin_2026-02-25_20-39-33

      Untuk JSON pada ilustrasi, klik ikon PixPin_2026-02-25_17-39-24 di samping bidang array dan pilih Add the entire array as a single field, with the value being the array's json string.

      PixPin_2026-02-25_20-42-30

    • Klik secara manual Add Field. Ketika Anda tidak dapat mengambil nilai bidang hulu dan belum mengunggah konten JSON melalui tombol Edit JSON Text, Anda dapat menentukan aturan penguraian bidang tetap secara manual dengan mengedit konten nilai. Parameter untuk menambahkan bidang secara manual adalah sebagai berikut:

      Parameter

      Description

      Field

      Nama bidang baru setelah penguraian. Node hilir menggunakan nama ini untuk mereferensikan bidang tersebut.

      Value acquisition

      Menentukan path penguraian JSON. Sintaksnya adalah sebagai berikut:

      • $: Node root.

      • .: Node turunan.

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

      • [*]: Memperluas array menjadi output multi-baris. Setiap elemen dikombinasikan dengan bidang lain dalam catatan untuk membentuk baris baru yang dikirim ke node hilir.

      Catatan

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

      Default

      Nilai default yang digunakan ketika path JSON yang ditentukan tidak ada. Hal ini dapat terjadi, misalnya, jika bidang dalam tabel hulu telah berubah.

      • NULL: Bidang diberi nilai NULL.

      • Do Not Fill: Bidang tidak diisi. Jika bidang yang sesuai di tabel tujuan memiliki nilai default, nilai tersebut akan digunakan.

      • Dirty Data: Menandai catatan sebagai dirty data. Sistem kemudian menanganinya berdasarkan pengaturan toleransi dirty data task, yang dapat mencakup penghentian task.

      • Manually enter a constant: Menggunakan konstanta yang Anda tentukan sebagai nilai bidang.

      image

    Tambahkan bidang penguraian JSON dinamis

    • Dalam konten JSON yang telah diformat, pilih bidang objek JSON target untuk penguraian dinamis. Sistem secara otomatis menambahkan konfigurasi penguraian untuk setiap bidang dalam objek JSON ke bidang output tetap.

    • Saat Anda mengonfigurasi penguraian objek JSON dinamis, selama eksekusi sebenarnya dari task sinkronisasi, setiap bidang dari setiap objek JSON pada path yang ditentukan akan ditambahkan ke catatan sebagai tipe STRING menggunakan nama dan nilai bidang JSON aslinya, lalu dikirim ke node hilir. Dengan cara ini, ketika struktur objek JSON yang ditentukan berubah atau bidang baru ditambahkan selama sinkronisasi, sistem dapat secara otomatis mendeteksi dan mengirimkannya ke node hilir.

    • Dapatkan data JSON yang telah diformat

      JSON source

      Description

      Illustration

      Dapatkan data JSON dari data sampling

      Setelah data sampling, klik Add Dynamic Parsing Field. Di kotak dialog Add Dynamic Output Field for JSON Parsing, pilih bidang sumber lalu klik Get JSON Structure untuk mengambil struktur JSON.

      image

      Dapatkan data JSON yang dimasukkan secara manual

      Jika Anda belum melakukan data sampling atau data sumber kosong, Anda dapat mengedit bidang secara manual:

      Klik tombol Edit JSON Text untuk masuk ke mode edit. Di jendela Edit JSON Text, masukkan konten JSON secara manual, lalu klik Back to Selection untuk memilih bidang.

      image

    • Urai objek JSON secara dinamis

      • Konfigurasi:

        image

      • Asumsikan bidang baru c3 ditambahkan ke objek dinamis. Tabel berikut membandingkan hasil penguraian.

        _value_(STRING)

        c1(STRING)

        c2(STRING)

        c3(STRING)

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

        2

        ["a1","b1"]

        Do Not Fill

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

        2

        ["a1","b1"]

        {"name": "jack"}

    • Tambahkan bidang secara manual

      Menambahkan bidang secara manual berarti: ketika Anda tidak dapat mengambil nilai bidang turunan hulu dan belum mengunggah konten JSON melalui tombol Edit JSON Text, Anda menentukan aturan penguraian bidang tetap secara manual dan menyesuaikan aturan penguraian bidang dinamis dengan mengedit konten nilai:

      Parameter

      Description

      Specify JSON Object

      Menentukan path penguraian objek JSON. Sintaks penguraian adalah sebagai berikut:

      • $: Node root.

      • .: Node turunan.

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

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

      Default

      Menentukan perilaku default ketika path penguraian JSON yang ditentukan tidak dapat diurai atau bidang yang sesuai tidak ada.

      • Ignore: Resolusi dinamis tidak dilakukan.

      • Dirty data: Data ini dihitung dalam statistik dirty data task sinkronisasi, dan konfigurasi toleransi dirty data menentukan apakah task keluar secara abnormal.

    • Kebijakan saat nama bidang bentrok dengan bidang yang sudah ada.

      Saat bidang JSON dinamis diperluas menjadi pasangan kunci-nilai, hanya tingkat pertama yang diperluas. Jika bidang yang diperluas berikutnya memiliki nama yang sama dengan bidang yang sudah ada, Anda harus memilih kebijakan. Kebijakan yang tersedia adalah sebagai berikut:

      • Overwrite: Mengganti nilai bidang yang sudah ada dengan nilai bidang baru.

      • Discard: Mempertahankan nilai bidang yang sudah ada dan membuang nilai bidang baru.

      • Error: Task melaporkan error dan berhenti.

Langkah berikutnya

Setelah Anda selesai mengonfigurasi Data Source dan JSON Parsing, klik Output Preview untuk melihat data output dari node saat ini dan memverifikasi bahwa hasilnya sesuai dengan kebutuhan Anda.