Apa itu json. Format JSON: apa itu, cara membuat dan membuka file

Variabel, array, dan objek adalah bentuk penyajian data yang familier dan nyaman. Merupakan kebiasaan untuk mendeskripsikan data dalam bahasa browser JavaScript, yang tidak diperlukan dalam bahasa server PHP. Format JSON memungkinkan Anda untuk menggeneralisasikannya menjadi satu kesatuan dan tidak berfokus pada bahasa pemrograman. Ini mengubah data menjadi pasangan: "name \u003d value". Nilai di masing-masing juga bisa menjadi kumpulan pasangan semacam itu.

Diterima untuk mengasosiasikan JSON dengan kurung kurawal dan yang terakhir cukup dibenarkan, karena JSON format \u003d JavaScript Notation Object. Banyak yang telah berubah dalam beberapa tahun terakhir yang sangat dinamis. Apa yang diciptakan untuk tujuan tertentu seringkali membawa hasil yang tidak diharapkan atau membuka cakrawala baru.

Pertukaran data: browser - server

Teknologi AJAX telah menjadi penyegaran halaman biasa dan tradisional sepenuhnya tidak lagi populer. Seorang pengunjung, membuka situs, memulai serangkaian pertukaran data parsial, ketika halaman tertentu hanya berubah di tempat yang relevan.

Dipercaya bahwa penampilan JSON dikaitkan dengan penggunaan AJAX, tetapi pada kenyataannya, asosiatif dan notasi objeknya (fitur sintaks untuk mendeskripsikan dan menggunakan objek) jauh lebih terkait dengan JSON daripada pertukaran data antar browser. dan server.

Karena konten halaman situs modern benar-benar menjadi "masif" (banyak sekali), efektivitas format pertukaran data menjadi sangat penting. Ini bukan untuk mengatakan bahwa JSON telah menjadi representasi data baru, tetapi fakta bahwa JSON telah lama menjadi bagian dari sintaksis JavaScript sangatlah penting.

Penggunaan Sirilik dalam penamaan variabel sangat tidak terduga (tidak masuk akal), tetapi berfungsi di versi terbaru Chrome, Firefox, dan bahkan Internet Explorer 11.

Sirilik dan JSON

Tentu saja, Anda tidak boleh menggunakan fenomena yang sama sekali tidak terduga ini, mengingat betapa mudahnya nilai variabel yang ditulis dalam huruf Rusia berubah menjadi krakozyabry: apa yang dapat saya katakan tentang nama, terutama yang eksternal.

Diragukan bahwa inisiatif dalam nama Cyrillic akan didukung oleh lingkungan eksternal browser, yang harus selalu ditangani. Namun fakta ini patut mendapat perhatian karena alasan sederhana bahwa format JSON adalah kemampuan untuk menulis nama dan nilai sesuai keinginan pengembang. Ini penting, karena dalam setiap tugas, mendeskripsikan area aplikasi karena memerlukannya sangat menyederhanakan proses debug dan mengurangi jumlah kesalahan.

Tidak peduli apa dasar yang menjadi dasar inovasi sintaksis - JSON, penting untuk memberikan hak hukum dan kesempatan nyata untuk meletakkan korespondensi: "nama apa pun \u003d nilai apa pun".

Kita harus menghargai bahasa JavaScript: apa yang disediakan oleh sintaks tidak mewajibkan pengembang dan tidak membebankan apa pun padanya. Pengembang dengan bebas menggunakan sintaks bahasa untuk pembentukan model data yang optimal dan algoritme untuk penggunaannya.

PHP dan JSON

Dengan menerima data dalam format JSON, server (khususnya melalui PHP) menyediakan kemampuan untuk memprosesnya sebagaimana adanya dan mengembalikan hasilnya ke browser dalam format yang serupa. Array asli PHP:

  • $ cJSON \u003d larik ("a" \u003d\u003e "alfa", "b" \u003d\u003e "beta", "g" \u003d\u003e "gamma").

Ubah ke format JSON untuk transmisi ke browser:

  • $ cJS \u003d json_encode ($ cJSON).

Hasil:

  • ("a": "alfa", "b": "beta", "g": "gamma").

Penumpukan yang ditunjukkan di foto diperbolehkan.

Di sini array yang dihasilkan ditambahkan oleh elemen baru "dalam dirinya sendiri" dengan indeks otomatis "0", dan kemudian dengan indeks tertentu "z".

Json_decode () mengonversi string JSON menjadi array PHP. Hasil serupa dapat dicapai dengan memanipulasi fungsi dan explode (). Dalam beberapa kasus, opsi ini lebih disukai.

Tingkat bersarang

Elemen dapat bertumpuk satu sama lain baik di sisi browser maupun di sisi server. Dalam praktiknya, format JSON (seperti yang dijelaskan di RFC 4627) memberikan lebih dari 4 tingkat penumpukan secara signifikan, tetapi fitur ini tidak boleh disalahgunakan.

Yang terbaik adalah tidak pernah melampaui kecukupan yang masuk akal, itu membuat kode dapat dibaca, membuatnya lebih mudah bagi pengembang lain untuk men-debug dan memahami.

Biasanya JSON merujuk ke struktur data yang lebih sederhana daripada XML dan dapat dimengerti oleh orang dan komputer. Hal ini berlaku jika jumlah datanya kecil dan pengembang telah memilih tingkat bertingkat dengan benar. Dalam semua kasus lainnya, sulit untuk menghitung jumlah tanda kurung dan memahaminya baik di sisi browser maupun di sisi server.

File JSON

JSON dalam praktiknya seringkali tidak terbatas pada string pendek yang dapat dilihat. Setiap konstruksi data selalu pragmatis. Pada saat yang sama, JSON dapat digunakan secara efektif baik dalam data nyata tugas (staf perusahaan) dan untuk implementasi data sementara (cache objek).

Staf perusahaan dan format JSON: contoh

Biasanya, catatan tentang satu orang adalah nama belakang, nama, patronimik, tahun lahir, keahlian khusus, pendidikan, ... dan beberapa arti yang lebih sederhana. Bahkan di perusahaan yang sangat menuntut, rekor tentang satu orang tidak akan melebihi sepuluh atau dua bidang. Itu bisa dilihat dan bisa dimasukkan ke dalam string database.

Jika sebuah perusahaan mempekerjakan beberapa orang, ini satu hal, tetapi jika puluhan ribu orang dipekerjakan, ini sama sekali berbeda. Anda dapat terus menggunakan database, tetapi menyimpannya sebagai file terlihat lebih praktis dan lebih mudah digunakan.

JSON adalah file teks biasa. Kasus dengan meja kepegawaian, ke mana pun itu pergi. Anda selalu bisa membacanya. Buka dan edit juga tersedia di editor teks apa pun yang tidak biasa menambahkan informasi layanannya ke konten file. Secara umum, * .json adalah teks murni baik di dalam browser maupun di dalam file - string.

Foto menunjukkan cache dari objek yang membentuk gambar, sebuah contoh.

Ini adalah contoh konten file yang dihasilkan oleh situs yang menyediakan layanan pencetakan volumetrik warna untuk mug dan keramik. Secara alami, memutuskan, memiliki format JSON seperti itu, daripada membukanya, benar-benar bermasalah. Namun, dalam kasus ini dan yang serupa, tidak ada masalah dengan membaca file: PHP membaca file, mengurai, dan mentransfernya ke browser. Data yang diubah oleh pengunjung dikembalikan ke server dan ditulis kembali.

Dalam kasus penggunaan ini, file bertindak sebagai variabel yang disimpan di luar kode. Jika perlu, variabel mendapatkan nilainya dari file, dan jika diubah oleh pengunjung di dialog yang disediakan oleh situs, semua perubahan akan dicatat apa adanya. Tidak perlu membaca dan memeriksa konten file.

JSON sering digunakan untuk menyimpan dan menggunakan informasi layanan - ini bukan tabel kepegawaian, tidak perlu baik pengembang maupun pengunjung situs untuk melihatnya.

XML dan JSON

"Segala sesuatu dalam waktu yang tepat" adalah pengetahuan klasik yang diambil sebagai aksioma bahkan sebelum munculnya pemrograman. "Tidak ada yang muncul begitu saja" - ini juga sebelum seseorang menulis program pertama yang dapat dimengerti dalam bahasa buatan.

Format data muncul dari kebutuhan nyata dan didasarkan pada pengetahuan yang diperoleh. HTML memiliki jalurnya sendiri, XML memiliki jalurnya sendiri, dan JSON adalah logika berbasis objek JavaScript yang diperluas ke bahasa lain. Membandingkan satu hal dengan hal lainnya bukanlah hal terbaik untuk dilakukan. Untuk masing-masing miliknya.

XML dengan sempurna mengatasi tugasnya dan jelas tidak akan dicatat dalam sejarah. Dan JSON digunakan hingga tahun 2006, hanya saja tidak setiap pengembang menganggapnya sebagai tugasnya untuk menyatakan opsi tertentu untuk menyajikan datanya.

Ada beberapa kasus dalam praktiknya ketika program ditulis dalam BASIC yang tidak menggunakan JSON seperti itu, tetapi menyimpan pasangan "name \u003d value" dengan sempurna dan menempatkannya sesuai dengan algoritme yang tepat pada waktu yang tepat.

Karakter khusus ("", "~", "|", ...) dan format data

Kebiasaan bekerja dengan array dan objek asosiatif di JavaScript menjadikan penggunaan JSON alami dan nyaman. Ini adalah format yang sangat bagus, tetapi keterampilan memisahkan dan menggabungkan dengan memanipulasi string dan array memiliki akar yang jauh lebih dalam.

Fungsi join / split JavaScript dan implode / explode PHP memungkinkan Anda menggunakan XML, JSON, dan format data Anda sendiri dengan mudah dan efisien. Yang terakhir seringkali lebih optimal, sedangkan dua yang pertama ideal untuk penggunaan umum. Jika informasi sedang ditransfer ke pengembang, server, file atau database lain, lebih baik tidak menemukan XML dan JSON. Setiap orang bekerja dengan mereka, karena transmisi / penerimaan informasi tidak memerlukan komentar.

Menggunakan JSON di Android

Membaca dan menulis data dalam format JSON di Android tidak hanya norma, tetapi juga banyak objek yang berorientasi untuk bekerja dengan format data ini.

Dalam hal ini, format JSON yang digunakan. Mungkin memang demikian, tetapi pertanyaannya bukan tentang fenomenalitas jejaring sosial, tetapi tentang fakta bahwa penyajian informasi dalam format "name \u003d value" sangat cocok untuk pemrograman dan penggunaan. Berbeda dengan "XML" yang ketat dan kompleks, ini adalah format yang benar-benar ramah manusia.

Array asosiatif

Kebetulan variabel harus dijelaskan (JavaScript) atau setidaknya menunjukkan nilai awal (PHP). Dalam kedua kasus, variabel dapat mengubah tipenya dengan sangat mudah. Bahasa tersebut melakukan konversi ini secara otomatis jika perlu.

Tetapi mengapa variabel tidak juga mengubah namanya, muncul selama eksekusi algoritme dan menghilang ketika kebutuhannya tidak lagi diperlukan? Larik asosiatif memecahkan masalah ini, tetapi kemudian ketika menggunakan variabel yang relatif dinamis, nama larik dan konstruksi sintaksis yang sesuai akan mengikuti di mana mereka digunakan.

Keadaan ini terutama diucapkan dalam PHP, tetapi Anda dapat menahannya, karena, kebetulan, dengan simbol "$" dalam nama variabel dan kombinasi "$ this-\u003e" di dalam objek. Pemrograman dalam JavaScript dan PHP pada saat yang sama, pada awalnya Anda benar-benar bertanya-tanya betapa berbedanya semuanya, tetapi kemudian semuanya menjadi begitu akrab dan alami ...

Array asosiatif -\u003e JSON

Dalam contoh ini, dokumen * .docx dibuat menggunakan pustaka PHPOffice / PHPWord, dan larik aProperties berisi properti dokumen ini (penulis, perusahaan, judul, kategori, tanggal pembuatan ...).

Array kedua berisi data untuk halaman:

  • orientasi (lanskap atau normal);
  • dimensi secara vertikal dan horizontal;
  • indentasi (margin ke kiri, atas, bawah, kanan);
  • header dan footer.

Dokumen dibuat di server tempat pustaka PHPOffice / PHPWord diinstal. Situs ini menyediakan untuk mengelola nilai array ini menggunakan JavaScript. Hasil dalam format JSON dikembalikan ke server dan digunakan dalam algoritme PHP, dalam konstruksinya, yaitu dalam array.

Variabel dinamis

Format JSON memecahkan masalah variabel dinamis. Di sini Anda dapat membuat, memodifikasi, dan menghapus variabel tanpa kekacauan sintaksis yang tidak perlu. Ini terlihat bagus dan digunakan dalam JavaScript.

Dalam contoh ini, fungsi GetOjInfo () mengambil nama nilai dan nilai dari objek. Awalnya, objek string JSON yang ditetapkan ke variabel ojInfo memiliki tiga elemen: Nama, usia, dan pekerjaan. Variabel Status ditambahkan sedikit kemudian.

Setelah pernyataan delete pertama, string ojInfo kehilangan elemen usia, setelah delete kedua - elemen kerja. Jika kita menganggap bahwa string ini adalah kumpulan variabel yang memiliki arti tertentu, maka dengan menggunakan JSON Anda sebenarnya dapat membuat, memodifikasi, dan menghapus setnya di luar bidang operasional (sintaks) untuk mendeskripsikan dan memproses JavaScript.

Format JSON tidak dirancang untuk opsi ini, tetapi ini memungkinkan, praktis dan nyaman.

Anda mungkin pernah mendengar tentang JSON. Apa itu? Apa yang bisa dia lakukan dan bagaimana dia bisa menggunakannya?

Dalam tutorial ini, kami akan membahas dasar-dasar JSON dan membahas poin-poin berikut:

  • Apa itu JSON?
  • Untuk apa JSON digunakan?
  • Bagaimana cara membuat string JSON?
  • Contoh sederhana dari string JSON.
  • Mari bandingkan JSON dan XML.
  • Bagaimana cara bekerja dengan JSON di JavaScript dan PHP?

Apa itu JSON?

JSON adalah cara berbasis teks sederhana untuk menyimpan dan mengirimkan data terstruktur. Dengan sintaks sederhana, Anda dapat dengan mudah menyimpan apa pun dari satu angka hingga string, array, dan objek dalam teks biasa. Anda juga dapat menautkan array dan objek bersama-sama untuk membuat struktur data yang kompleks.

Setelah string JSON dibuat, mudah untuk mengirimkannya ke aplikasi lain atau ke tempat lain di web karena ini adalah teks biasa.

JSON memiliki keuntungan sebagai berikut:

  • Itu kompak.
  • Kalimatnya mudah dibaca dan disusun oleh manusia dan komputer.
  • Sangat mudah untuk mengubahnya menjadi struktur data untuk sebagian besar bahasa pemrograman (angka, string, boolean, array, dll.)
  • Banyak bahasa pemrograman memiliki fungsi dan pustaka untuk membaca dan membuat struktur JSON.

JSON adalah singkatan dari JavaScript Object Notation. Seperti namanya, ini didasarkan pada cara objek didefinisikan (seperti membuat array asosiatif dalam bahasa lain) dan array.

Untuk apa JSON digunakan?

Penggunaan JSON yang paling umum adalah mengirim data dari server ke browser. Biasanya data JSON dikirimkan menggunakan AJAX, yang memungkinkan browser dan server berkomunikasi tanpa harus memuat ulang halaman.

  1. Pengguna mengklik thumbnail produk di toko online.
  2. JavaScript yang berjalan di browser menghasilkan permintaan AJAX ke skrip PHP yang berjalan di server, meneruskan ID produk yang dipilih.
  3. Script PHP mendapatkan nama produk, deskripsi, harga, dan informasi lainnya dari database. Kemudian mengkompilasi string JSON dari data dan mengirimkannya ke browser.
  4. JavaScript yang berjalan di browser menerima string JSON, mendekodekannya, dan menampilkan informasi produk pada halaman untuk pengguna.

Anda juga dapat menggunakan JSON untuk mengirim data dari browser ke server dengan meneruskan string JSON sebagai parameter ke permintaan GET atau POST. Namun, metode ini kurang umum karena meneruskan data melalui permintaan AJAX dapat disederhanakan. Misalnya, ID produk dapat dimasukkan ke dalam URL sebagai bagian dari permintaan GET.

Pustaka jQuery memiliki beberapa metode, seperti getJSON () dan parseJSON (), yang memudahkan untuk mendapatkan data menggunakan JSON melalui permintaan AJAX.

Bagaimana cara membuat string JSON?

Ada beberapa aturan dasar untuk membuat string JSON:

  • String JSON berisi larik nilai atau objek (larik asosiatif pasangan nama / nilai).
  • Himpunan diapit oleh tanda kurung siku ([dan]) dan berisi daftar nilai yang dipisahkan koma.
  • Sebuah Objek diapit oleh tanda kurung kurawal ((dan)) dan berisi daftar pasangan nama / nilai yang dipisahkan koma.
  • Pasangan nama / nilai terdiri dari nama bidang, diapit tanda kutip ganda, diikuti oleh titik dua (:) dan nilai bidang.
  • Nilai dalam sebuah array atau objek dapat berupa:
    • Angka (integer atau floating point)
    • String (dalam tanda kutip ganda)
    • Nilai Boolean (benar atau salah)
    • Array lain (diapit tanda kurung siku)
    • Objek lain (diapit tanda kurung kurawal)
    • Nilai nol

Untuk menyertakan tanda kutip ganda dalam string, Anda harus menggunakan garis miring terbalik: \\ ". Seperti pada banyak bahasa pemrograman, Anda dapat meletakkan karakter kontrol dan kode heksadesimal dalam string, diawali dengan garis miring terbalik. Lihat situs JSON untuk detailnya.

Contoh string JSON sederhana

Di bawah ini adalah contoh pemesanan dalam format JSON:

("orderID": 12345, "shopperName": "Vanya Ivanov", "shopperEmail": " [email dilindungi]"," content ": [(" productID ": 34," productName ":" Super product "," quantity ": 1), (" productID ": 56," productName ":" Wonder product "," quantity ": 3)], "orderCompleted": true)

Pertimbangkan baris tersebut secara detail:

  • Kami membuat objek menggunakan kurung kurawal ((dan)).
  • Objek tersebut memiliki beberapa pasangan nama / nilai: "orderID": 12345 Properti bernama "orderId" dan nilai integer 12345 "shopperName": "Vanya Ivanov" properti bernama "shopperName" dan nilai string "Vanya Ivanov" "shopperEmail": " [email dilindungi]"Properti bernama" shopperEmail "dan nilai string" [email dilindungi]"" content ": [...] Properti bernama" content "yang nilainya berupa array" orderCompleted ": true Properti bernama" orderCompleted "dengan nilai Boolean true
  • Ada 2 objek dalam larik "isi" yang mewakili item individual dalam pesanan. Setiap objek berisi 3 properti: productID, productName, dan quantity.

Ngomong-ngomong, karena JSON didasarkan pada deklarasi objek JavaScript, Anda dapat dengan cepat dan mudah menjadikan string JSON di atas sebagai objek JavaScript:

Membandingkan JSON dan XML

Dalam banyak hal, Anda bisa menganggap JSON sebagai alternatif XML, setidaknya untuk aplikasi web. Konsep AJAX awalnya didasarkan pada penggunaan XML untuk mentransfer data antara server dan browser. Namun dalam beberapa tahun terakhir, JSON menjadi semakin populer karena membawa data AJAX.

Meskipun XML adalah teknologi yang terbukti digunakan di sejumlah aplikasi, JSON memiliki keuntungan karena lebih kecil, format data yang lebih mudah dibaca.

Seperti inilah tampilan objek XML di atas:

orderID 12345 shopperName Ваня Иванов shopperEmail [email protected] contents productID 34 productName Супер товар quantity 1 productID 56 productName Чудо товар quantity 3 orderCompleted benar

Versi XML jauh lebih besar. Sebenarnya panjangnya 1128 karakter, sedangkan varian JSON hanya sepanjang 323 karakter. Versi XML juga sulit dibaca.

Tentu saja, ini adalah contoh radikal. Dan dimungkinkan untuk membuat rekaman XML yang lebih ringkas. Tetapi bahkan itu akan jauh lebih lama daripada setara JSON.

Bekerja dengan string JSON di JavaScript

JSON memiliki format yang sederhana, tetapi membuat string JSON secara manual itu membosankan. Selain itu, Anda sering kali perlu mengambil string JSON, mengubah isinya menjadi variabel yang dapat digunakan dalam kode.

Sebagian besar bahasa pemrograman memiliki alat untuk mengonversi variabel menjadi string JSON dengan mudah dan sebaliknya.

Buat string JSON dari variabel

JavaScript memiliki metode JSON.stringify () bawaan yang mengambil variabel dan mengembalikan string JSON yang mewakili kontennya. Sebagai contoh, mari buat objek JavaScript yang berisi informasi pesanan dari contoh kita, lalu buat string JSON darinya:

Kode ini akan memberikan:

Perhatikan bahwa metode JSON.stringify () mengembalikan string JSON tanpa spasi. Ini lebih sulit untuk dibaca, tetapi lebih kompak untuk transmisi melalui jaringan.

Ada beberapa cara untuk mengurai string JSON di JavaScript, tetapi yang paling aman dan andal adalah menggunakan metode JSON.parse () bawaan. Ini menerima string JSON dan mengembalikan objek atau larik JavaScript yang berisi data. Contohnya:

Kami telah membuat variabel jsonString yang berisi string JSON dari contoh pengurutan kami. Kami kemudian meneruskan string ini ke metode JSON.parse (), yang membuat objek yang berisi data JSON dan menyimpannya di variabel keranjang. Yang tersisa hanyalah memeriksa dengan mencetak properti objek shopperEmail dan nama produk larik konten.

Hasilnya, kami mendapatkan output berikut:

Dalam aplikasi nyata, kode JavaScript Anda akan menerima urutan sebagai string JSON dalam respons AJAX dari skrip server, meneruskan string tersebut ke metode JSON.parse (), lalu menggunakan data untuk ditampilkan di halaman pengguna.

JSON.stringify () dan JSON.parse () memiliki kemampuan lain, seperti menggunakan fungsi callback untuk mengonversi data tertentu secara kustom. Opsi ini sangat berguna untuk mengubah berbagai data menjadi objek JavaScript yang valid.

Bekerja dengan string JSON di PHP

PHP, seperti JavaScript, memiliki fungsi bawaan untuk bekerja dengan string JSON.

Buat string JSON dari variabel PHP

Fungsi json_encode () mengambil variabel PHP dan mengembalikan string JSON yang mewakili konten variabel. Berikut contoh pesanan kami yang ditulis dalam PHP:

12345, "shopperName" \u003d\u003e "Vanya Ivanov", "shopperEmail" \u003d\u003e " [email dilindungi]"," content "\u003d\u003e larik (larik (" productID "\u003d\u003e 34," productName "\u003d\u003e" Super product "," quantity "\u003d\u003e 1), larik (" productID "\u003d\u003e 56," productName "\u003d\u003e "Produk ajaib", "quantity" \u003d\u003e 3)), "orderCompleted" \u003d\u003e true); echo json_encode ($ cart);?\u003e

Kode ini mengembalikan string JSON yang sama persis seperti pada contoh JavaScript:

("orderID": 12345, "shopperName": "Vanya Ivanov", "shopperEmail": " [email dilindungi]"," content ": [(" productID ": 34," productName ":" Super product "," quantity ": 1), (" productID ": 56," productName ":" Wonder product "," quantity ": 3)], "orderCompleted": true)

Dalam aplikasi nyata, skrip PHP Anda akan mengirimkan string JSON ini sebagai bagian dari respons AJAX ke browser, di mana kode JavaScript menggunakan metode JSON.parse () untuk mengubahnya kembali menjadi variabel untuk ditampilkan di halaman pengguna.

Anda bisa meneruskan berbagai flag sebagai argumen kedua ke fungsi json_encode (). Dengan bantuan mereka, Anda dapat mengubah prinsip pengkodean konten variabel menjadi string JSON.

Buat variabel dari string JSON

Metode json_decode () digunakan untuk mengubah string JSON menjadi variabel PHP. Mari kita ganti contoh JavaScript kita dengan metode JSON.parse () dengan kode PHP:

shopperEmail. "
"; echo $ cart-\u003e content-\u003e productName."
"; ?>

Sedangkan untuk JavaScript, kode ini akan menghasilkan:

[email dilindungi] Produk ajaib

Secara default, fungsi json_decode () mengembalikan objek JSON sebagai objek PHP. Ada objek PHP umum dari kelas stdClass. Oleh karena itu, kami menggunakan -\u003e untuk mengakses properti objek pada contoh di atas.

Jika Anda menginginkan objek JSON sebagai array PHP terkait, Anda harus meneruskan true sebagai argumen kedua ke fungsi json_decode (). Contohnya:

$ cart \u003d json_decode ($ jsonString, true); echo $ cart ["shopperEmail"]. "
"; echo $ cart [" content "] [" productName "]."
";

Kode ini akan memberikan hasil yang sama:

[email dilindungi] Produk ajaib

Anda juga bisa meneruskan argumen lain ke json_decode () untuk menentukan kedalaman rekursi dan cara menangani integer besar.

Kesimpulan

Meskipun JSON mudah dipahami dan digunakan, ini adalah alat yang sangat berguna dan fleksibel untuk mentransfer data antara aplikasi dan komputer, terutama saat menggunakan AJAX. Jika Anda berencana mengembangkan aplikasi AJAX, tidak diragukan lagi JSON akan menjadi alat terpenting di bengkel Anda.

Json (JavaScript Object Notation) adalah format presentasi data terstruktur yang digunakan untuk mentransfer data melalui Internet.

Sebenarnya, format JSON adalah string biasa.

Sintaks JSON

Sintaks JSON agak kecil, hanya mencakup deskripsi tentang seperti apa data yang dikirimkan itu.

Jenis data JSON

Di JSON, tipe data dapat dibagi menjadi dua kategori: sederhana dan kompleks.

  • tali - string teks (biasanya disebut - string)
  • jumlah - angka
  • boolean - nilai logika (boolean)
  • batal

Jenis kompleks meliputi:

  • obyek - benda
  • himpunan - array

Sintaks JSON dipinjam dari JavaScript, jadi sintaksnya sama dengan JavaScript untuk merepresentasikan nilai tipe sederhana dan kompleks.

Nilai-nilai sederhana

Contoh paling sederhana dari kode JSON adalah nilai apa pun yang berjenis sederhana:

5 2.3 "Halo!" benar nol

Di JSON, string hanya boleh diapit tanda kutip ganda. Menggunakan tanda kutip tunggal menghasilkan kesalahan sintaksis.

Objek

Objek JSON adalah daftar nol atau lebih properti (nama: pasangan nilai) yang diapit oleh tanda kurung kurawal, dipisahkan dengan koma. Nama properti objek harus diapit tanda kutip ganda. Tanda kutip ganda tidak ada atau penggunaan tanda kutip tunggal di nama properti adalah kesalahan. Properti dapat berisi nilai jenis apa pun (sederhana atau kompleks):

("name": "Gomer", "age": 40, "work": ("place": "Nuclear plant", "location": "Springfield"))

Array

Larik JSON adalah daftar nol atau beberapa nilai yang dipisahkan koma, diapit oleh tanda kurung siku. Sebuah array dapat berisi nilai jenis apa pun (sederhana atau kompleks):

[("name": "Gomer", "age": 40, "work": ("place": "Nuclear plant", "location": "Springfield"), "children": ["Bart", "Lisa "," Maggie "]), (" name ":" Marge "," age ": 37," work ": (" place ":" Home "," location ":" Springfield ")," children ": [ "Bart", "Lisa", "Maggie"])]

Apa itu JSON dan apa kemampuannya? Di artikel ini, Anda akan mempelajari cara menggunakan JSON untuk bekerja dengan data dengan mudah. Kami juga akan melihat bagaimana bekerja dengan JSON menggunakan PHP dan JavaScript.

Jika Anda telah mengembangkan situs web atau aplikasi web secara umum, kemungkinan besar Anda pernah mendengar tentang JSON, setidaknya secara sepintas. Tapi apa sebenarnya arti JSON? Apa yang bisa dilakukan format data ini dan bagaimana menggunakannya?

Pada artikel ini, kita akan mempelajari dasar-dasar bekerja dengan format json. Kami akan mengikuti topik berikut:

  • Apa itu format JSON?
  • Bagaimana cara membuat string JSON?
  • Contoh sederhana dari data JSON
  • Membandingkan JSON dengan XML

Ayo mulai!

Apa itu format JSON?

JSON adalah cara berbasis teks sederhana untuk menyimpan dan mengirimkan data terstruktur. Dengan bantuan sintaksis sederhana, Anda dapat dengan mudah menyimpan angka dan string sederhana, serta array, objek, tidak lebih dari teks. Anda juga dapat mengikat objek dan larik, yang memungkinkan Anda membuat struktur data yang kompleks.

Setelah membuat string JSON, string tersebut dapat dengan mudah dikirim ke aplikasi atau komputer apa pun, karena ini hanya teks.

JSON memiliki banyak manfaat:

  • Itu kompak
  • Ini dapat dibaca manusia dan komputer
  • Ini dapat dengan mudah dikonversi ke format terprogram: nilai numerik, string, format boolean, nilai nol, array, dan array asosiatif.
  • Hampir semua bahasa pemrograman memiliki fungsi untuk membaca dan membuat format data json.

Secara harfiah, singkatan JSON adalah singkatan dari JavaScript Object Notation. Seperti dijelaskan sebelumnya, format ini didasarkan pada pembuatan objek, agak mirip dengan array asosiatif dalam bahasa pemrograman lain.

Untuk apa JSON digunakan?

Yang terpenting, json digunakan untuk bertukar data antara javascript dan sisi server (php). Dengan kata lain, untuk teknologi ajax. Ini sangat berguna saat Anda meneruskan beberapa variabel atau seluruh array data.

Bagaimana tampilannya dengan contoh:

  1. Pengguna mengklik gambar mini
  2. JavaScript menangani acara ini dan mengirimkan permintaan ajax ke skrip PHP, meneruskan ID gambar.
  3. Di server, php mendapatkan deskripsi gambar, nama gambar, alamat gambar besar dan informasi lain dari database. Setelah diterima, itu diubah ke format JSON dan mengirim kembali ke halaman pengguna
  4. JavaScript menerima respons JSON, memproses data, menghasilkan kode html, dan menampilkan gambar yang diperbesar dengan deskripsi dan informasi lainnya.

Beginilah cara gambar membesar tanpa memuat ulang halaman di browser. Ini sangat nyaman ketika kita perlu menerima sebagian data, atau mentransfer sejumlah kecil informasi ke server.

JQuery favorit semua orang memiliki fungsi getJSON () dan parseJSON (), yang membantu bekerja dengan format melalui permintaan ajax.

Bagaimana cara membuat string JSON?


Berikut adalah aturan dasar untuk membuat string JSON:

  • String JSON berisi larik nilai dan objek (larik asosiatif dengan pasangan nama / nilai).
  • Larik harus dibungkus dalam tanda kurung siku, [dan], mungkin berisi daftar nilai, dipisahkan dengan koma.
  • Objek yang dibungkus dengan lengan keriting, (dan), juga berisi pasangan nama / nilai yang dipisahkan koma.
  • Pasangan nama / nilai terdiri dari nama bidang (dalam tanda kutip ganda) diikuti oleh titik dua (:) diikuti dengan nilai bidang.
  • Nilai dalam larik atau objek dapat berupa:
    • Numerik (titik penuh atau desimal)
    • String (dibungkus dengan tanda kutip ganda)
    • Boolean (benar atau salah)
    • Array lain (dibungkus dalam tanda kurung siku [dan])
    • Benda lain (dibungkus busur keriting)
    • Batal

Penting! Jika Anda menggunakan tanda kutip ganda pada nilai, lepaskan dengan garis miring terbalik: \\ ". Anda juga dapat menggunakan karakter yang dikodekan hex, seperti yang Anda lakukan dalam bahasa pemrograman lain.

Contoh sederhana dari data JSON

Contoh berikut menunjukkan bagaimana Anda dapat menyimpan data di "keranjang belanja" dari toko online menggunakan format JSON:

("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email dilindungi]"," content ": [(" productID ": 34," productName ":" SuperWidget "," quantity ": 1), (" productID ": 56," productName ":" WonderWidget "," quantity ": 3) ], "orderCompleted": true)

Mari kita uraikan data ini sepotong demi sepotong:

  1. Di awal dan akhir, kami menggunakan busur keriting yang menjelaskan bahwa ini adalah objek.
  2. Di dalam objek, kami memiliki beberapa pasangan nama / nilai:
  3. "orderID": 12345 - bidang bernama orderId dan nilai 12345
  4. "shopperName": "John Smith" - bidang bernama shopperName dan nilai John Smith
  5. " shopperEmail ":"[email dilindungi] contoh.com " - mirip dengan bidang sebelumnya, email pelanggan disimpan di sini.
  6. "isi": [...] - bidang bernama konten yang nilainya adalah array.
  7. "orderCompleted": benar - bidang bernama orderCompleted, yang nilainya benar
  8. Di dalam larik konten, kami memiliki dua objek yang menampilkan konten keranjang. Setiap objek produk memiliki tiga properti: productID, productName, quantity.

Terakhir, karena JSON identik dengan objek di JavaScript, Anda dapat dengan mudah mengambil contoh ini dan membuat objek JavaScript darinya:

Membandingkan JSON dengan XML

Dalam kebanyakan kasus, Anda akan menganggap JSON sebagai alternatif XML - setidaknya untuk aplikasi web. Konsep Ajax, awalnya menggunakan XML untuk bertukar data antara server dan browser, tetapi dalam beberapa tahun terakhir JSON menjadi lebih populer untuk mentransfer data ajax.

Meskipun XML adalah teknologi yang telah dicoba dan diuji dan digunakan oleh banyak aplikasi, keuntungan dari format JSON adalah lebih kompak dan lebih mudah untuk menulis dan membaca.

Berikut contoh JSON di atas, hanya ditulis ulang dalam format XML:

orderID 12345 shopperName John Smith shopperEmail [email protected] contents productID 34 productName SuperWidget quantity 1 productID 56 productName WonderWidget quantity 3 orderCompleted benar

Seperti yang Anda lihat, ini beberapa kali lebih lama dari JSON. Faktanya, contoh ini memiliki panjang 1128 karakter, sedangkan versi JSON hanya sepanjang 323 karakter. Juga versi XML lebih sulit dibaca.

Secara alami, seseorang tidak dapat menilai hanya dengan satu contoh, tetapi bahkan sejumlah kecil informasi menggunakan lebih sedikit ruang dalam format JSON daripada dalam XML.

Bagaimana cara bekerja dengan JSON melalui PHP dan JS?

Jadi kita sampai pada bagian yang paling menarik - sisi praktis dari format JSON. Pertama, mari kita beri penghormatan pada JavaScript, lalu kita akan melihat bagaimana Anda dapat memanipulasi JSON melalui PHP.

Membuat dan membaca format JSON menggunakan JavaScript


Terlepas dari kenyataan bahwa format JSON sederhana, sulit untuk menulisnya dengan tangan saat mengembangkan aplikasi web. Selain itu, Anda sering kali perlu mengubah string JSON menjadi variabel dan kemudian menggunakannya dalam kode Anda.

Untungnya, banyak bahasa pemrograman menyediakan alat untuk bekerja dengan string JSON. Ide utamanya adalah:

MakhlukString JSON, Anda mulai dengan variabel yang berisi beberapa nilai, lalu Anda meneruskannya melalui fungsi yang mengubah data menjadi string JSON.

BacaanString JSON, Anda mulai dengan string JSON yang berisi data tertentu, teruskan string tersebut melalui fungsi yang membuat variabel yang berisi data tersebut.

Mari kita lihat bagaimana ini dilakukan di JavaScript.

Buat string JSON dari variabel JavaScript

JavaScript memiliki metode bawaan, JSON.stringify (), yang mengambil variabel javascript dan mengembalikan string json yang mewakili konten variabel. Misalnya, mari gunakan objek yang dibuat sebelumnya, ubah menjadi string JSON.

Inilah yang akan ditampilkan:

("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email dilindungi]"," content ": [(" productID ": 34," productName ":" SuperWidget "," quantity ": 1), (" productID ": 56," productName ":" WonderWidget "," quantity ": 3) ], "orderCompleted": true)

Perhatikan bahwa JSON.stringify () mengeluarkan string JSON tanpa spasi. Sulit dibaca, tetapi lebih ringkas, yang penting saat mentransfer data.

Buat variabel JavaScript dari string JSON

Ada beberapa cara untuk mengurai string JSON, yang paling dapat diterima dan aman adalah metode JSON.parse (). Ini menerima string JSON dan mengembalikan objek JavaScript atau larik yang berisi data JSON. Berikut contohnya:

Di sini kami telah membuat variabel, jsonString, yang berisi string JSON dari contoh yang diberikan sebelumnya. Kemudian kami meneruskan string ini melalui JSON.parse () untuk membuat objek yang berisi data JSON yang disimpan dalam variabel keranjang. Terakhir, kami memeriksa ketersediaan data dan menampilkan beberapa informasi menggunakan jendela modal peringatan.

Informasi berikut akan ditampilkan:

Dalam aplikasi web nyata, kode JavaScript Anda harus menerima string JSON sebagai respons dari server (setelah mengirim permintaan AJAX), lalu mengurai string tersebut dan menampilkan data tentang konten keranjang kepada pengguna.

Membuat dan membaca format JSON dengan PHP


PHP, seperti JavaScript, memiliki fungsi untuk mengubah variabel ke format JSON, begitu juga sebaliknya. Mari kita lihat.

Menghasilkan string JSON dari variabel PHP

Json_encode () mengambil variabel PHP dan mengembalikan string JSON yang mewakili data variabel. Berikut contoh "keranjang belanja" yang ditulis dalam PHP:

12345, "shopperName" \u003d\u003e "John Smith", "shopperEmail" \u003d\u003e " [email dilindungi]"," content "\u003d\u003e larik (larik (" productID "\u003d\u003e 34," productName "\u003d\u003e" SuperWidget "," quantity "\u003d\u003e 1), larik (" productID "\u003d\u003e 56," productName "\u003d\u003e" WonderWidget "," quantity "\u003d\u003e 3))," orderCompleted "\u003d\u003e true); echo json_encode ($ cart);?\u003e

Kode ini mengeluarkan hasil yang sama persis dengan contoh JavaScript - string JSON valid yang mewakili konten variabel:

("orderID": 12345, "shopperName": "John Smith", "shopperEmail": " [email dilindungi]"," content ": [(" productID ": 34," productName ":" SuperWidget "," quantity ": 1), (" productID ": 56," productName ":" WonderWidget "," quantity ": 3) ], "orderCompleted": true)

Pada kenyataannya, skrip PHP Anda harus mengirimkan string JSON sebagai respons atas permintaan AJAX, di mana JavaScript akan menggunakan JSON.parse () untuk mengubah string menjadi variabel.

Dalam fungsi json_encode (), Anda dapat menentukan parameter tambahan yang memungkinkan Anda mengonversi beberapa karakter menjadi hex.

Membuat variabel PHP dari string JSON

Mirip dengan di atas, ada fungsi json_decode () yang memungkinkan Anda mendekode string JSON dan meletakkan konten dalam variabel.

shopperEmail. "
"; echo $ cart-\u003e content-\u003e productName."
"; ?>

Seperti pada JavaScript, kode ini akan menghasilkan yang berikut:

[email dilindungi] WonderWidget

Secara default, json_decode () mengembalikan objek JSON sebagai objek PHP. Mirip dengan sintaks yang familiar, kami menggunakan -\u003e untuk mengakses properti objek.

Jika di masa mendatang Anda ingin menggunakan data dalam bentuk array asosiatif, cukup berikan parameter kedua true ke fungsi json_decode (). Berikut contohnya:

$ cart \u003d json_decode ($ jsonString, true); echo $ cart ["shopperEmail"]. "
"; echo $ cart [" content "] [" productName "]."
";

Ini menghasilkan hasil yang sama:

[email dilindungi] WonderWidget

Selain itu, argumen tambahan bisa diteruskan ke fungsi json_decode () untuk menentukan pemrosesan bilangan besar dan rekursi.

Kesimpulan tentang format JSON

Jika Anda akan membuat aplikasi web menggunakan teknologi Ajax, niscaya gunakan format JSON untuk bertukar data antara server dan browser.


Iklan

Format File Situs Web JSON

File JSON digunakan untuk menyimpan struktur array data sederhana menggunakan format berbasis teks yang dapat dibaca manusia. Awalnya, file JSON terkait erat dengan bahasa pemrograman JavaScript, tetapi karena fakta bahwa format ini saat ini mendukung sejumlah besar API pemrograman, ini dapat dianggap sebagai format yang tidak terikat dengan bahasa pemrograman apa pun. Alternatif XML ini paling umum digunakan oleh aplikasi web Ajax.

Detail teknis untuk file JSON

File JSON digunakan sebagai file untuk pertukaran data. Pertukaran ini sering terjadi antara komputer yang terhubung melalui Internet. Jadi, sangat jarang file JSON disimpan di hard drive komputer. Namun, beberapa aplikasi masih menggunakan format ini. Misalnya, data profil Google+ disimpan dan dimuat dalam format JSON, dan browser web Mozilla Firefox menggunakan format ini untuk menyimpan salinan cadangan bookmark.

Informasi lebih lanjut tentang format JSON



Ekstensi file .json
Kategori file
File contoh (0,57 KiB)
Program terkait Microsoft Notepad
Microsoft WordPad
Notepad ++
Mozilla Firefox