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
-
Buat sumber data. Untuk informasi selengkapnya, lihat Data source management.
-
Buat task Data Integration. Untuk informasi selengkapnya, lihat Configure a single-table real-time synchronization task.
CatatanUntuk 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
Dalam task sinkronisasi real-time satu tabel, aktifkan sakelar Data Processing, klik +Add Node, lalu tambahkan komponen JSON Parsing.
Masukkan nama dan deskripsi untuk node tersebut, lalu konfigurasikan komponen penguraian JSON.
PentingUntuk 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.

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.

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.
CatatanNama 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.

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.

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.

Urai objek JSON secara dinamis
Konfigurasi:

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.






