全部产品
Search
文档中心

DataWorks:Penguraian JSON

更新时间:Nov 15, 2025

Komponen penguraian JSON tersedia untuk tugas ekstrak, transformasi, dan muat (ETL) real-time di Data Integration DataWorks. Komponen ini dapat ditambahkan di antara sumber dan tujuan untuk mengurai data JSON dari sumber menjadi data tabel.

Buat dan konfigurasi komponen penguraian JSON

Langkah 1: Konfigurasi tugas integrasi data

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

  2. Buat tugas integrasi data. Untuk informasi selengkapnya, lihat Konfigurasi tugas sinkronisasi real-time di Data Integration.

    Catatan

    Jika tugas integrasi data menggunakan tipe sinkronisasi tabel tunggal real-time, Anda dapat menambahkan komponen pemrosesan data di antara komponen sumber dan tujuan. Untuk informasi selengkapnya, lihat Sumber data dan solusi sinkronisasi yang didukung.

Langkah 2: Tambahkan komponen penguraian JSON

  1. Pada kanvas DAG halaman konfigurasi tugas ETL real-time, klik tombol image di antara komponen Source dan Destination, lalu pilih komponen JSON Parsing.image

  2. Konfigurasi komponen penguraian JSON.

    Penting

    Untuk mendapatkan struktur data JSON, lakukan Data Sampling pada komponen Kafka sumber.

    Tambahkan bidang tetap untuk penguraian JSON

    • Dapatkan data berformat JSON.

      Ambil data JSON

      Deskripsi

      Ilustrasi

      Ambil data JSON dari pengambilan sampel data

      Setelah pengambilan sampel data, klik Add Fixed Field For JSON Parsing. Pada kotak dialog Fixed Field For JSON Parsing, pilih bidang sumber lalu klik Get JSON Data Structure.

      image

      Ambil data JSON yang dimasukkan secara manual

      Jika pengambilan sampel data tidak dilakukan atau data sumber kosong, Anda dapat mengedit bidang secara manual.

      Klik Add Fixed Field for JSON Parsing. Pada kotak dialog Fixed Field for JSON Parsing, klik Edit JSON Text. Pada kotak dialog Edit JSON Text, masukkan konten JSON secara manual lalu klik OK untuk memformat konten JSON yang diunggah.

      image

      Urai node daun

      • Pada bagian JSON Data Structure, klik image untuk memilih bidang daun. Konfigurasi penguraian yang sesuai akan otomatis ditambahkan ke bagian Fixed Output Fields.image

      • Tabel berikut menunjukkan contoh penguraian node daun.

      Urai objek JSON

      Pada bagian JSON Data Structure, pilih bidang yang ingin Anda urai. Jika Anda memilih objek JSON, kotak dialog akan muncul dengan metode penguraian berikut:

      • Tambahkan setiap pasangan kunci-nilai dalam objek JSON sebagai bidang terpisah. Kunci digunakan sebagai nama bidang, dan nilai pasangan kunci-nilai diberikan ke bidang tersebut.

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

      • Opsi

        Ilustrasi

        Hasil penguraian

        Ambil data JSON pada ilustrasi sebagai contoh. Klik ikon image di samping bidang address dan pilih Add each key-value pair in the JSON object as a separate field. The key is used as the field name and is assigned its corresponding value. pada kotak dialog.

        Tiga bidang diurai: street, city, dan zip. Masing-masing diberi nilai bidangnya.

        image

        image

        Ambil data JSON pada ilustrasi sebagai contoh. Klik ikon image di samping bidang address dan pilih Add the entire JSON object as a single field. The value is the JSON string of the object. pada kotak dialog.

        Seluruh objek address diurai menjadi satu catatan data lengkap. Nilainya mencakup bidang street, city, dan zip.

        image

        image

      Urai larik JSON

      Pada bagian JSON Data Structure, pilih bidang yang ingin Anda urai. Jika Anda memilih larik JSON, kotak dialog akan muncul dengan metode penguraian berikut:

      • Perluas larik menjadi beberapa baris keluaran.

      • Tambahkan seluruh larik sebagai satu bidang tunggal. Nilai bidang tersebut adalah string JSON dari larik tersebut.

      Opsi

      Ilustrasi

      Hasil penguraian

      Ambil data JSON pada ilustrasi sebagai contoh. Klik ikon image di samping bidang array1 dan array2, lalu pilih Add the array as a multi-row output. pada kotak dialog.

      Catatan

      Jika larik berisi pasangan kunci-nilai dan suatu nilai juga merupakan larik, nilai dalam larik bersarang tersebut tidak diurai.

      image

      image

      Ambil data JSON pada ilustrasi sebagai contoh. Klik ikon image di samping bidang array dan pilih Add the entire array as a single field. The value is the JSON string of the array..

      image

      image

    • Tambahkan bidang secara manual dengan mengklik Add A Field. Jika Anda tidak dapat memperoleh nilai bidang hulu dan belum mengunggah konten JSON melalui tombol Edit JSON Text, Anda dapat menentukan aturan penguraian bidang tetap secara manual. Tabel berikut menjelaskan parameter-parameter tersebut.

      Parameter

      Deskripsi

      Field Name

      Nama bidang baru yang diurai untuk dirujuk di node hilir.

      Value

      Menentukan jalur penguraian JSON. Sintaks penguraian adalah sebagai berikut:

      • $: Node akar.

      • .: Node turunan.

      • []: [number] menunjukkan indeks larik. Indeks dimulai dari 0.

      • [*]: Memperluas larik menjadi keluaran multi-baris. Setiap elemen digabungkan dengan bidang lain dalam catatan untuk membentuk baris terpisah yang dikirim ke node hilir.

      Catatan

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

      Default Value

      Nilai default yang digunakan ketika jalur JSON untuk memperoleh nilai tidak ada karena perubahan bidang dalam tabel hulu.

      • NULL: Bidang diberi nilai NULL.

      • Do Not Fill: Bidang tidak diisi dengan nilai apa pun. Perbedaannya dengan memilih NULL adalah bahwa saat menulis ke bidang yang sesuai di tabel tujuan, jika bidang tujuan dikonfigurasi dengan nilai default, nilai default tersebut digunakan alih-alih NULL.

      • Dirty Data: Catatan dihitung sebagai data kotor untuk tugas sinkronisasi. Sistem kemudian memutuskan apakah akan menghentikan tugas dengan kesalahan berdasarkan konfigurasi toleransi data kotor.

      • Masukkan konstanta secara manual: Gunakan konstanta yang dimasukkan secara manual sebagai nilai bidang.

      image

    Tambahkan bidang dinamis untuk penguraian JSON

    • Dapatkan data berformat JSON.

      Ambil data JSON

      Deskripsi

      Ilustrasi

      Ambil data JSON dari pengambilan sampel data

      Setelah pengambilan sampel data, klik Add Dynamic Field For JSON Parsing. Pada kotak dialog Dynamic Output Field For JSON Parsing, pilih bidang sumber lalu klik Get JSON Data Structure.

      image

      Ambil data JSON yang dimasukkan secara manual

      Klik Add Dynamic Field For JSON Parsing. Pada kotak dialog Dynamic Output Field For JSON Parsing, jika Anda tidak dapat memperoleh nilai bidang hulu atau nilainya tidak sesuai dengan spesifikasi JSON, klik Edit JSON Text. Pada kotak dialog Edit JSON Text, masukkan konten JSON secara manual lalu klik OK untuk memformat konten JSON yang diunggah.

      image

    • Urai objek JSON secara dinamis.

      • Pada konten JSON, pilih bidang objek JSON yang ingin Anda urai secara dinamis. Sistem secara otomatis menambahkan konfigurasi penguraian untuk setiap bidang dalam objek JSON ke bidang keluaran tetap.

      • Konfigurasikan penguraian dinamis untuk objek JSON. Saat tugas sinkronisasi berjalan, setiap bidang objek JSON pada jalur yang ditentukan ditambahkan ke catatan sebagai tipe STRING dengan nama dan nilai bidang JSON asli, lalu dikirim ke node hilir. Hal ini memungkinkan sistem mendeteksi dan mengeluarkan perubahan struktural secara otomatis, seperti penambahan bidang baru, selama sinkronisasi.

      • Gambar berikut menunjukkan contohnya.

        Sebelum objek diurai:

        image

        Setelah objek diurai:

        image

      • Tabel berikut menunjukkan 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 juga dapat menambahkan bidang secara manual. Jika Anda tidak dapat memperoleh nilai bidang turunan hulu dan belum mengunggah konten JSON melalui tombol Edit JSON Text, Anda dapat menentukan aturan penguraian bidang dinamis secara manual dengan mengedit nilainya.

      Parameter

      Deskripsi

      Specify JSON Object

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

      • $: Node akar.

      • .: Node turunan.

      • []: [number] menunjukkan indeks larik. Indeks dimulai dari 0.

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

      Default Value

      Menentukan perilaku default ketika jalur penguraian JSON yang ditentukan gagal diurai atau bidang yang sesuai tidak ada.

      • Ignore: Penguraian dinamis tidak dilakukan.

      • Dirty data: Catatan dihitung sebagai data kotor untuk tugas sinkronisasi. Sistem kemudian memutuskan apakah akan menghentikan tugas dengan kesalahan berdasarkan konfigurasi toleransi data kotor.

    • Kebijakan penanganan bidang yang sudah ada dengan nama yang sama.

      Saat bidang JSON dinamis diperluas menjadi pasangan kunci-nilai, hanya lapisan pertama yang diperluas. Jika bidang yang diperluas memiliki nama yang sama dengan bidang yang sudah ada, Anda harus memilih kebijakan resolusi konflik. Kebijakan yang tersedia dijelaskan 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: Tugas melaporkan kesalahan dan berhenti berjalan.

Operasi lainnya

Setelah Anda mengonfigurasi pengaturan Source, JSON Parsing, dan Destination, klik Run Simulation di pojok kanan atas untuk mensimulasikan tugas integrasi data. Hal ini memungkinkan Anda memverifikasi bahwa data keluaran memenuhi persyaratan Anda.