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
Buat sumber data. Untuk informasi selengkapnya, lihat Manajemen sumber data.
Buat Tugas Data Integration. Untuk informasi selengkapnya, lihat Konfigurasikan tugas sinkronisasi real-time tabel tunggal.
CatatanUntuk 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
Dalam Tugas sinkronisasi real-time tabel tunggal Anda, aktifkan opsi Data Processing, klik +Add Node, lalu pilih Komponen JSON Parsing.
Masukkan nama dan deskripsi untuk Node tersebut, lalu konfigurasikan Komponen Penguraian JSON.
PentingUntuk 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.

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.

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

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.

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.

Uraikan Objek JSON secara dinamis
Konfigurasi:

Asumsikan bidang baru,
c3, ditambahkan ke objekdynamic. 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.






