Apa itu JSON? Structure knowledge common

JSON, atau JavaScript Object Notation, adalah layout yang digunakan untuk merepresentasikan knowledge. Itu diperkenalkan pada awal 2000-an sebagai bagian dari JavaScript dan secara bertahap berkembang menjadi media paling umum untuk menggambarkan dan bertukar knowledge berbasis teks. Saat ini, JSON adalah standar common pertukaran knowledge. Itu ditemukan di setiap space pemrograman, termasuk pengembangan front-end dan server-side, sistem, middleware, dan database.

Artikel ini memperkenalkan Anda pada JSON. Anda akan mendapatkan gambaran umum tentang teknologi, mengetahui bagaimana perbandingannya dengan standar serupa seperti XML, YAML, dan CSV, dan melihat contoh JSON dalam berbagai program dan kasus penggunaan.

Sedikit sejarah

JSON awalnya dikembangkan sebagai layout untuk berkomunikasi antara klien JavaScript dan server back-end. Ini dengan cepat mendapatkan popularitas sebagai layout yang dapat dibaca manusia yang dapat digunakan oleh programmer front-end untuk berkomunikasi dengan again finish menggunakan layout standar yang singkat. Pengembang juga menemukan bahwa JSON sangat fleksibel: Anda dapat menambah, menghapus, dan memperbarui bidang advert hoc. (Fleksibilitas itu datang dengan mengorbankan keamanan, yang kemudian ditangani dengan skema JSON.)

Secara aneh, JSON dipopulerkan oleh Revolusi AJAX. Aneh, mengingat penekanan pada XML, tetapi JSON-lah yang membuat AJAX benar-benar bersinar. Menggunakan REST sebagai konvensi untuk API dan JSON sebagai media pertukaran membuktikan kombinasi yang kuat untuk menyeimbangkan kesederhanaan, fleksibilitas, dan konsistensi.

Selanjutnya, JSON menyebar dari JavaScript front-end ke komunikasi client-server, dan dari sana ke record konfigurasi sistem, bahasa back-end, dan sampai ke database. JSON bahkan membantu memacu Tanpa SQL gerakan yang merevolusi penyimpanan knowledge. Ternyata administrator database juga menikmati fleksibilitas dan kemudahan pemrograman JSON.

Saat ini, penyimpanan knowledge berorientasi dokumen seperti MongoDB menyediakan API yang bekerja dengan struktur knowledge seperti JSON. Dalam sebuah wawancara di awal 2022, CTO MongoDB Mark Porter mencatat bahwa, dari sudut pandangnya, JSON masih mendorong batas data. Tidak buruk untuk layout knowledge yang dimulai dengan kurung kurawal sederhana dan titik dua.

Mengapa pengembang menggunakan JSON

Apa pun jenis program atau kasus penggunaan yang mereka kerjakan, pengembang perangkat lunak memerlukan cara untuk mendeskripsikan dan bertukar knowledge. Kebutuhan ini ditemukan dalam database, logika bisnis, antarmuka pengguna, dan dalam semua sistem komunikasi. Ada banyak pendekatan untuk menyusun knowledge untuk pertukaran. Dua kubu luas adalah knowledge berbasis biner dan teks. JSON adalah layout berbasis teks, sehingga dapat dibaca oleh orang dan mesin.

JSON adalah cara yang sangat sukses untuk memformat knowledge karena beberapa alasan. Pertama, ini asli JavaScript, dan digunakan di dalam program JavaScript sebagai literal JSON. Anda juga dapat menggunakan JSON dengan bahasa pemrograman lain, sehingga berguna untuk pertukaran knowledge antar sistem yang heterogen. Akhirnya, itu dapat dibaca manusia. Untuk struktur knowledge bahasa, JSON adalah alat yang sangat serbaguna. Ini juga cukup mudah digunakan, terutama jika dibandingkan dengan layout lain.

Cara kerja JSON

Saat Anda memasukkan nama pengguna dan kata sandi Anda ke dalam formulir di halaman internet, Anda berinteraksi dengan objek dengan dua bidang: nama pengguna dan kata sandi. Sebagai contoh, perhatikan halaman login pada Gambar 1.

Halaman login sederhana. IDG

Gambar 1. Halaman login sederhana.

Daftar 1 menunjukkan halaman ini dijelaskan menggunakan JSON.

Record 1. JSON untuk halaman login


{
   username: “Bilbo Baggins”,
   password: “fkj3442jv9dwwf”
}

Semua yang ada di dalam kurung kurawal atau kurung kurawal ( {…} ) milik objek yang sama. Sebuah obyekdalam hal ini, mengacu dalam pengertian yang paling umum untuk “satu hal.” Di dalam kurung kurawal adalah properti yang dimiliki oleh sesuatu. Setiap properti memiliki dua bagian: nama dan nilai, dipisahkan oleh titik dua. Ini dikenal sebagai kunci dan nilai Dalam Daftar 1, “nama pengguna” adalah kunci dan “Bilbo Baggins” adalah nilai.

Kuncinya di sini adalah bahwa JSON melakukan semua yang diperlukan untuk menangani kebutuhan—dalam hal ini, menyimpan informasi dalam formulir—tanpa banyak informasi tambahan. Anda dapat melirik record JSON ini dan memahaminya. Itu sebabnya kami mengatakan bahwa JSON adalah ringkas. Ringkas juga menjadikan JSON layout yang sangat baik untuk pengiriman melalui kabel.

JSON vs. XML

JSON dibuat sebagai alternatif XML, yang pernah menjadi layout dominan untuk pertukaran knowledge. Formulir login di Record 2 dijelaskan menggunakan XML.

Daftar 2. Formulir login dalam XML


<UserLogin>
  <Username>Samwise Gamgee</Username>
  <Password>ghB5fK5</Password>
</UserLogin>

Astaga! Melihat formulir ini saja sudah melelahkan. Bayangkan harus membuat dan menguraikannya dalam kode. Sebaliknya, menggunakan JSON dalam JavaScript sangat sederhana. Cobalah. Tekan F12 di browser Anda untuk membuka konsol JavaScript, lalu tempel di JSON yang ditunjukkan di Record 3.

Daftar 3. Menggunakan JSON dalam JavaScript


let hobbitJson = {
    identify: "Pippin",
    fatherland: "Shire"
}
console.log(hobbitJson.identify);  // outputs “Pippin”
hobbitJson.bestFriend = "Merry";  // adjust the thing
console.log(JSON.stringify(hobbitJson)); //output whole object

// {"identify":"Pippin","fatherland":"Shire","bestFriend":"Merry"}

XML sulit dibaca dan meninggalkan banyak hal yang diinginkan dalam hal kelincahan pengkodean. JSON dibuat untuk mengatasi masalah ini. Tidak heran ia memiliki XML yang kurang lebih menggantikan.

JSON vs. YAML dan CSV

Dua layout knowledge yang terkadang dibandingkan dengan JSON adalah YAML dan CSV. Kedua layout berada di ujung yang berlawanan dari spektrum temporal. CSV adalah layout pra-digital kuno yang akhirnya menemukan jalannya untuk digunakan di komputer. YAML terinspirasi oleh JSON dan merupakan turunan konseptualnya.

CSV adalah daftar nilai sederhana, dengan setiap entri dilambangkan dengan koma atau karakter pemisah lainnya, dengan baris pertama opsional bidang header. Ini agak terbatas sebagai media pertukaran dan struktur pemrograman, tetapi masih berguna untuk mengeluarkan sejumlah besar knowledge ke disk. Dan, tentu saja, organisasi knowledge tabular CSV sangat cocok untuk hal-hal seperti spreadsheet.

YAML sebenarnya adalah superset dari JSON, artinya akan mendukung apa pun yang didukung JSON. Tetapi YAML juga mendukung sintaks yang lebih sederhana, yang dimaksudkan untuk lebih ringkas daripada JSON. Misalnya, YAML menggunakan lekukan untuk hierarki, tanpa menggunakan kurung kurawal. Meskipun YML terkadang digunakan sebagai layout pertukaran knowledge, kasus penggunaan terbesarnya adalah dalam record konfigurasi.

JSON Kompleks: Bersarang, objek, dan larik

Sejauh ini, Anda hanya melihat contoh JSON yang digunakan dengan objek yang dangkal (atau sederhana). Itu berarti setiap bidang pada objek memiliki nilai primitif. JSON juga mampu memodelkan struktur knowledge kompleks yang berubah-ubah seperti grafik objek dan grafik siklik—yaitu, struktur dengan referensi melingkar. Di bagian ini, Anda akan melihat contoh pemodelan kompleks melalui nesting, referensi objek, dan array.

JSON dengan objek bersarang

Daftar 4 menunjukkan cara mendefinisikan objek JSON bersarang.

Cantuman 4. JSON Bersarang


let merry = { identify: "Merry",
  bestfriend: {
    identify: "Pippin"
  }
}

Itu bestfriend properti di Record 4 merujuk ke objek lain, yang didefinisikan sebaris sebagai literal JSON.

JSON dengan referensi objek

Sekarang pertimbangkan Daftar 5, di mana alih-alih memegang nama di bestfriend properti, kami memegang referensi ke objek yang sebenarnya.

Record 5. Referensi objek


let merry = { race: "hobbit", identify: “Merry Brandybuck” }
let pippin = {race: "hobbit", identify: “Pippin Took”, bestfriend: merry }
console.log(JSON.stringify(pippin.bestfriend.identify)); // outputs “Merry Brandybuck”

Di Record 5, kami menempatkan pegangan ke merry objek pada bestfriend Properti. Kemudian, kita bisa mendapatkan yang sebenarnya merry objek dari pippin objek melalui bestfriend Properti. Kami memperoleh nama dari merry objek dengan identify Properti. Ini disebut melintasi grafik objekyang dilakukan dengan menggunakan operator titik.

JSON dengan array

Jenis struktur lain yang dapat dimiliki properti JSON adalah array. Ini terlihat seperti array JavaScript dan dilambangkan dengan tanda kurung siku, seperti yang ditunjukkan pada Record 6.

Record 6. Properti array


{
  cities: [ “The Shire”, “Rivendale”, “Gondor” ]
}

Tentu saja, array juga dapat menyimpan referensi ke objek lain. Dengan dua struktur ini, JSON dapat memodelkan berbagai macam relasi objek yang kompleks.

Mengurai dan menghasilkan JSON

Parsing dan menghasilkan JSON berarti membacanya dan membuatnya, masing-masing. Anda telah melihat JSON.stringify() sudah beraksi. Itu adalah mekanisme bawaan untuk program JavaScript untuk mengambil representasi objek dalam memori dan mengubahnya menjadi string JSON. Untuk menuju ke arah lain—yaitu, ambil string JSON dan ubah menjadi objek dalam memori—Anda gunakan JSON.parse().

Di sebagian besar bahasa lain, perlu menggunakan perpustakaan pihak ketiga untuk menguraikan dan menghasilkan. Misalnya di Jawa ada banyak perpustakaantapi yang paling populer adalah Jackson dan GSON. Perpustakaan ini lebih kompleks daripada stringify dan parse dalam JavaScript, tetapi mereka juga menawarkan kemampuan tingkat lanjut seperti pemetaan ke dan dari jenis kustom dan menangani layout knowledge lainnya.

Dalam JavaScript, mengirim dan menerima JSON ke server adalah hal yang umum. Misalnya dengan integrated fetch() API. Saat melakukannya, Anda dapat mengurai respons secara otomatis, seperti yang ditunjukkan pada Daftar 7.

Record 7. Parsing respons JSON dengan fetch()


fetch('https://the-one-api.dev/v2/persona')
  .then((reaction) => reaction.json())
  .then((knowledge) => console.log(knowledge));

Setelah Anda mengubah JSON menjadi struktur knowledge dalam memori, baik itu JavaScript atau bahasa lain, Anda dapat menggunakan API untuk memanipulasi struktur tersebut. Misalnya, dalam JavaScript, JSON yang diurai di Record 7 akan diakses seperti objek JavaScript lainnya—mungkin dengan mengulang knowledge.keys atau mengakses properti yang diketahui pada objek knowledge.

Skema JSON dan formatter JSON

JavaScript dan JSON sangat fleksibel, tetapi terkadang Anda membutuhkan lebih banyak struktur daripada yang mereka sediakan. Dalam bahasa seperti Java, pengetikan yang kuat dan tipe abstrak (seperti antarmuka) membantu menyusun program skala besar. Di toko SQL, skema menyediakan struktur serupa. Jika Anda membutuhkan lebih banyak struktur dalam dokumen JSON Anda, Anda dapat menggunakan Skema JSON untuk secara eksplisit mendefinisikan karakteristik objek JSON Anda. Setelah ditentukan, Anda dapat menggunakan skema untuk memvalidasi example objek dan memastikan bahwa mereka sesuai dengan skema.

Masalah lain adalah berurusan dengan JSON yang diproses mesin yang diperkecil dan tidak terbaca. Untungnya, masalah ini mudah dipecahkan. Langsung saja ke Pemformat & Validator JSON (Saya suka alat ini tetapi ada yang lain), rekatkan di JSON Anda, dan tekan Proses tombol. Anda akan melihat versi yang dapat dibaca manusia yang dapat Anda gunakan. Sebagian besar IDE juga memiliki pemformat JavaScript bawaan untuk memformat JSON Anda.

Menggunakan JSON dengan TypeScript

TypeScript memungkinkan untuk mendefinisikan tipe dan antarmuka, jadi ada kalanya menggunakan JSON dengan TypeScript berguna. Kelas, seperti skema, menguraikan properti yang dapat diterima dari example dari tipe tertentu. Dalam JavaScript biasa tidak ada cara untuk membatasi properti dan tipenya. Kelas JavaScript seperti saran; programmer dapat mengaturnya sekarang dan memodifikasi JSON nanti. Kelas TypeScript, bagaimanapun, memberlakukan properti apa yang bisa dimiliki JSON dan tipe apa yang bisa mereka miliki.

Kesimpulan

JSON adalah salah satu teknologi paling penting yang digunakan dalam lanskap perangkat lunak fashionable. Ini penting untuk JavaScript tetapi juga digunakan sebagai mode umum interaksi antara berbagai teknologi. Untungnya, hal yang membuat JSON sangat berguna membuatnya relatif mudah dipahami. Ini adalah layout yang ringkas dan mudah dibaca untuk mewakili knowledge tekstual.

Hak Cipta © 2022 IDG Communications, Inc.

Leave a Reply

Your email address will not be published.

Back to top button