format JSON

format JSON

format JSON

JSON Ini adalah format pertukaran data berbasis teks, artinya mudah dibaca oleh seseorang maupun program. Namanya sesuai dengan akronim bahasa Inggris dari Notasi Objek JavaScript dan distandarisasi sebagai ECMA-404. Meskipun ini adalah format yang sintaksisnya sangat mirip JavaScript, karena sangat mudah diproses untuk menyandikan data objek atau memperolehnya, ini juga digunakan di banyak bahasa pemrograman lainnya (C, C + +, Jawa, Ular sanca…) sebagai alternatif, misalnya, XML, yang memiliki tujuan serupa namun, karena mencakup lebih banyak meta-informasi, memerlukan lebih banyak teks dan oleh karena itu memakan lebih banyak ruang, menggunakan lebih banyak bandwidth, dan memerlukan lebih banyak sumber daya untuk menyandikan dan mendekode informasi itu mengandung. JSON.

Daftar Isi

    Data suatu objek yang dikodekan JSON Properti diapit kurung kurawal, berbagai properti yang ada di dalamnya dipisahkan dengan koma, dan nama properti diawali dengan nilai, lalu dipisahkan dengan titik dua.

    Garis besar sintaks suatu objek dalam format JSON

    Nama properti harus diapit tanda kutip menggunakan tanda kutip ganda (meskipun beberapa parser akan mendukung tanda kutip tunggal) dan meskipun beberapa karakter khusus diperbolehkan untuk nama (seperti tanda aksen), tidak disarankan untuk menghindari kriteria beberapa mesin analisis dan menghindari konflik saat menggunakan properti terutama dengan sintaks dot(object.property).

    Pada contoh di atas, Anda dapat melihat objek yang memiliki enam properti dengan nilai sederhana, numerik, boolean, atau teks; tapi dalam formatnya JSON, properti juga dapat memperoleh nilai suatu objek (termasuk "objek khusus" null) atau array selain string teks (teks dalam tanda kutip), angka (dalam format berbeda) atau nilai boolean (benar atau salah ).

    Seperti halnya bahasa JavaScript (JSON adalah bagian dari JavaScript) untuk menyatakan suatu matriks, nilainya diapit dalam tanda kurung siku dan dipisahkan dengan koma. Kasus paling sederhana diilustrasikan pada contoh di bawah ini; Ini adalah array satu dimensi, vektor, yang terdiri dari nilai numerik.

    En JavaScript Semua elemen array tidak harus memiliki tipe yang sama, Anda dapat mencampur, misalnya, string teks dan nilai numerik. Sebuah vektor, sebuah array satu dimensi, juga dapat menjadi salah satu elemen dari array lain, sehingga memungkinkan untuk membangun array multidimensi dengan panjang variabel. Contoh berikut menunjukkan objek dengan tiga properti: yang pertama adalah array dua dimensi dengan panjang tetap, yang kedua panjangnya variabel, dan yang ketiga dibentuk oleh array dengan nilai tipe berbeda.

    Contoh berikut menggunakan objek lain sebagai nilai properti objek induk. Tidak ada batasan tingkat bersarangnya sehingga pada gilirannya objek yang merupakan nilai properti induknya juga dapat memiliki objek lain sebagai nilai propertinya dan seterusnya.

    Seperti yang terjadi dengan JavaScript, kode escape digunakan untuk memasukkan karakter tertentu dalam string teks. Cara yang paling umum adalah dengan menggunakan kode unicode yang dinyatakan dengan escape bar, huruf u dan empat digit heksadesimal dengan format "\u263A" untuk merujuk ke ☺ misalnya.

    Karakter standar yang ada di sebagian besar bahasa (mirip dengan C) adalah sebagai berikut

    • Mundur \b Kode ASCII 8 (0x08)
    • Tabulator \t Kode ASCII 9 (0x09) Biasanya direpresentasikan sebagai HT (tabulator horizontal)
    • Garis baru \n Kode ASCII 10 (0x0A) Biasanya direpresentasikan sebagai LF (line feed)
    • Halaman baru \f Kode ASCII 12 (0x0C) Biasanya direpresentasikan sebagai FF (form feed)
    • Kembali \r Kode ASCII 13 (0x0D) Biasanya direpresentasikan sebagai CR (carriage return)
    • Tanda kutip \" Kode ASCII 34 (0x22)
    • bilah pembagian \/ Kode ASCII 57 (0x2F)
    • Garis miring terbalik \\ Kode ASCII 134 (0x5C)
    • kode unicode \uXXXX

    Berasal dari C (dan terkait dengan Unix dan sejenisnya, seperti GNU / Linux) akhir baris biasanya diwakili dengan \n dan itu adalah salah satu yang harus dipilih JSON namun menarik untuk diingat bahwa beberapa sistem operasi lebih memilih alternatif lain. Windows biasanya mewakili dengan \r\n akhiran baris dan Mac OS (sebelum OS \r

    Mengenai format numerik, referensinya juga JavaScript. Pemisah desimal adalah titik, tanda hubung (ASCII 45 0x2D) digunakan sebagai tanda negatif dan notasi dalam bentuk eksponensial (Notasi ilmiah) kegunaan E sebagai indikator (bisa huruf besar atau kecil)

    Seperti yang saya katakan di awal, untuk menggunakan data yang akan diperoleh sebagai teks, bahasa pemrograman yang berbeda memiliki fungsi analisis dan penugasan. Contoh berikut menunjukkan bagaimana mereka akan digunakan JavaScript. Untuk dapat menggunakannya dari konsol, penetapan data disertakan JSON Untuk menghindari kemungkinan kesalahan tergantung pada standar ECMA yang digunakan oleh penerjemah JavaScript penugasan objek dibuat JSON dalam satu baris. Edisi 6 Tahun 2016 (ECMA-262) mendukung string multiline, edisi 5 (hingga 2011) perlu menambahkan kode escape \ dan yang sebelumnya harus menyelesaikannya dengan tangan atau menggunakan satu baris.

    Peringatan untuk tidak membingungkan pengguna baru JavaScript. Di dalam kode JavaScript Tidak perlu menggunakan string teks untuk membuat objek, pada contoh sebelumnya digunakan untuk mensimulasikan data yang datang, misalnya dari server. Untuk menetapkan objek ke variabel, seperti:

    Objek tersebut dapat diubah menjadi teks, misalnya dengan fungsi stringify sebagai berikut:

    Format JSON Ini cukup fleksibel tetapi, terutama karena berbasis teks agar dapat dibaca manusia, ia memiliki beberapa kelemahan. Yang pertama adalah memerlukan lebih banyak memori dan menghabiskan lebih banyak bandwidth daripada yang diperlukan. Pada contoh sebelumnya telah digunakan format yang bertujuan agar lebih mudah dibaca daripada ekonomis, sehingga bukan contoh penghematan, meskipun begitu banyak elemen format (kurung kurawal, tanda kurung, tanda kutip...) yang akan dilanjutkan untuk mengkonsumsi sumber daya dibandingkan dengan informasi yang disajikan secara mentah.

    Masalah kedua muncul ketika berhadapan dengan data biner murni (misalnya gambar), ketika berhadapan dengan porsi kecil, hal ini dapat diselesaikan dengan apa yang telah dijelaskan untuk menyelesaikan pemformatan karakter khusus, tetapi jika menyangkut pengkodean informasi dimensi tertentu, Anda perlu menyematkannya ke dalam Format JSON menggunakan format teks lain. Pengkodean yang paling banyak digunakan untuk mengatasi aspek ini adalah Base64 karena banyak bahasa memiliki perpustakaan untuk mengubah informasi ke satu arah atau lainnya. Jika data yang dimanipulasi sebagian besar adalah jenis ini dan/atau seseorang tidak perlu menafsirkan informasi tersebut tanpa program, ada baiknya mempertimbangkan apakah formatnya JSON adalah yang paling cocok.

    Anda mungkin melewatkannya