Saya telah melihat di wikipedia dan meng-Google-nya dan membaca dokumentasi resmi, tetapi saya masih belum sampai pada titik di mana saya benar-benar mengerti apa itu JSON, dan mengapa saya menggunakannya.
Saya telah membangun aplikasi menggunakan PHP, MySQL dan Javascript / HTML untuk sementara waktu, dan jika JSON dapat melakukan sesuatu untuk membuat hidup saya lebih mudah atau kode saya lebih baik atau antarmuka pengguna saya lebih baik, maka saya ingin mengetahuinya. Adakah yang bisa memberi saya penjelasan singkat?
Jawaban:
JSON (JavaScript Object Notation) adalah format ringan yang digunakan untuk pertukaran data. Ini didasarkan pada subset dari bahasa JavaScript (cara objek dibangun dalam JavaScript). Sebagaimana dinyatakan dalam MDN , beberapa JavaScript bukan JSON, dan beberapa JSON bukan JavaScript.
Contoh penggunaan ini adalah tanggapan layanan web. Di masa lalu, layanan web menggunakan XML sebagai format data utama untuk mengirim kembali data, tetapi sejak JSON muncul ( Format JSON ditentukan dalam RFC 4627 oleh Douglas Crockford ), ia telah menjadi format yang disukai karena jauh lebih banyak ringan
Anda dapat menemukan lebih banyak info di situs web JSON resmi .
JSON dibangun di atas dua struktur:
Struktur JSON
Berikut adalah contoh data JSON:
JSON dalam JavaScript
JSON (dalam Javascript) adalah string!
Orang sering menganggap semua objek Javascript adalah JSON dan JSON adalah objek Javascript. Ini salah.
Dalam Javascript
var x = {x:y}
adalah tidak JSON , ini adalah objek Javascript . Keduanya bukan hal yang sama. Setara JSON (diwakili dalam bahasa Javascript) akanvar x = '{"x":"y"}'
.x
adalah objek tipe string bukan objek di dalamnya sendiri. Untuk mengubahnya menjadi objek Javascript yang lengkap, Anda harus menguraikannyavar x = JSON.parse('{"x":"y"}');
,,x
sekarang menjadi objek tetapi ini bukan JSON lagi.Lihat objek Javascript Vs JSON
Saat bekerja dengan JSON dan JavaScript, Anda mungkin tergoda untuk menggunakan
eval
fungsi untuk mengevaluasi hasil yang dikembalikan dalam panggilan balik, tetapi ini tidak disarankan karena ada dua karakter (U + 2028 & U + 2029) yang valid dalam JSON tetapi tidak dalam JavaScript (baca lebih lanjut tentang ini di sini ).Oleh karena itu, kita harus selalu mencoba menggunakan skrip Crockford yang memeriksa JSON yang valid sebelum mengevaluasinya. Tautan ke penjelasan skrip ditemukan di sini dan di sini adalah tautan langsung ke file js. Setiap browser utama saat ini memiliki implementasi sendiri untuk ini.
Contoh tentang cara menggunakan parser JSON (dengan json dari cuplikan kode di atas):
Parser JSON juga menawarkan metode lain yang sangat berguna
stringify
,. Metode ini menerima objek JavaScript sebagai parameter, dan menampilkan kembali string dengan format JSON. Ini berguna ketika Anda ingin mengirim data kembali ke server:Dua metode di atas (
parse
danstringify
) juga mengambil parameter kedua, yang merupakan fungsi yang akan dipanggil untuk setiap kunci dan nilai pada setiap tingkat hasil akhir, dan setiap nilai akan diganti oleh hasil dari fungsi yang Anda masukkan. (Lebih lanjut tentang ini di sini )Btw, untuk Anda semua di luar sana yang berpikir JSON hanya untuk JavaScript, lihat posting ini yang menjelaskan dan mengonfirmasi sebaliknya.
Referensi
sumber
Konsep Dijelaskan - Tanpa Kode atau Jargon Teknis
Apa itu JSON? - Bagaimana saya menjelaskannya kepada istri saya TM
Saya: “Ini pada dasarnya cara berkomunikasi dengan seseorang secara tertulis .... tetapi dengan aturan yang sangat spesifik.
Istri: ya ....?
Saya: Dalam bahasa Inggris biasa, aturannya cukup longgar: seperti halnya dengan pertempuran kandang. Tidak demikian halnya dengan JSON. Ada banyak cara untuk menggambarkan sesuatu:
• Contoh 1: Keluarga kami memiliki 4 orang: Anda, saya dan 2 anak-anak.
• Contoh 2: Keluarga kami: Anda, saya, kid1 dan kid2.
• Contoh 3: Keluarga: [kamu, aku, kid1, kid2]
• Contoh 4: kami memiliki 4 orang di keluarga kami: ibu, ayah, anak1 dan anak2.
Istri: Mengapa mereka tidak menggunakan bahasa Inggris saja?
Saya: Mereka mau, tapi ingat kita berurusan dengan komputer. Komputer itu bodoh dan tidak akan bisa memahami kalimat. Jadi kita harus benar-benar spesifik ketika komputer terlibat kalau tidak mereka akan bingung. Terlebih lagi, JSON adalah cara komunikasi yang cukup efisien, sehingga sebagian besar hal-hal yang tidak relevan terputus, yang mana hal ini sangat mudah dilakukan. Jika Anda ingin berkomunikasi dengan keluarga kami, ke komputer, salah satu cara Anda dapat melakukannya adalah seperti ini:
…… dan itu pada dasarnya adalah JSON. Tapi ingat, Anda HARUS mematuhi aturan tata bahasa JSON. Jika Anda melanggar aturan itu, maka komputer tidak akan mengerti (mis. Menguraikan) apa yang Anda tulis.
Istri: Jadi bagaimana saya menulis di Json?
Cara yang baik adalah dengan menggunakan serialson json - yang merupakan perpustakaan yang melakukan angkat berat untuk Anda.
Ringkasan
sumber
Singkatnya - JSON adalah cara membuat serialisasi sedemikian rupa, sehingga menjadi kode JavaScript. Ketika dijalankan (dengan eval atau lainnya), kode ini membuat dan mengembalikan objek JavaScript yang berisi data yang Anda serialkan. Ini tersedia karena JavaScript memungkinkan sintaks berikut:
Anda dapat menggunakan ini untuk beberapa tujuan. Pertama, ini adalah cara yang nyaman untuk meneruskan data dari server Anda ke kode JavaScript Anda. Jadi, ini sering digunakan dalam AJAX.
Anda juga dapat menggunakannya sebagai mekanisme serialisasi mandiri, yang lebih sederhana dan membutuhkan ruang lebih sedikit daripada XML. Ada banyak pustaka yang memungkinkan Anda untuk membuat serial dan deserialize objek di JSON untuk berbagai bahasa pemrograman.
sumber
Singkatnya, ini adalah notasi scripting untuk meneruskan data tentang. Dalam beberapa hal alternatif untuk XML, secara native mendukung tipe data dasar, array dan array asosiatif (pasangan nama-nilai, disebut Objects karena itulah yang mereka wakili).
Sintaksnya yang digunakan dalam JavaScript dan JSON sendiri adalah singkatan dari "JavaScript Object Notation". Namun itu telah menjadi portabel dan digunakan dalam bahasa lain juga.
Tautan yang berguna untuk detail ada di sini:
http://secretgeek.net/json_3mins.asp
sumber
Format JSON sering digunakan untuk membuat cerita bersambung dan mengirimkan data terstruktur melalui koneksi jaringan. Ini digunakan terutama untuk mengirimkan data antara server dan aplikasi web, berfungsi sebagai alternatif untuk XML.
sumber
JSON adalah Notasi Objek JavaScript. Ini adalah cara yang jauh lebih kompak untuk mentransmisikan set data melalui koneksi jaringan dibandingkan dengan XML. Saya menyarankan JSON digunakan dalam aplikasi seperti AJAX mana XML seharusnya menjadi opsi "direkomendasikan". Verbositas XML akan menambah waktu pengunduhan dan peningkatan konsumsi bandwidth ($$$). Anda dapat mencapai efek yang sama dengan JSON dan mark-up-nya hampir secara eksklusif didedikasikan untuk data itu sendiri dan bukan struktur yang mendasarinya.
sumber
jawaban singkat umum adalah: jika Anda menggunakan AJAX untuk membuat permintaan data, Anda dapat dengan mudah mengirim dan mengembalikan objek sebagai string JSON. Ekstensi yang tersedia untuk dukungan Javascript toJSON () memanggil semua jenis javascript untuk mengirim data ke server dalam permintaan AJAX. Respons AJAX dapat mengembalikan objek sebagai string JSON yang dapat dikonversi menjadi objek Javascript dengan panggilan eval sederhana, misalnya jika fungsi AJAX someAjaxFunctionCallReturningJson dikembalikan
Anda bisa menulis dalam Javascript
JSON juga dapat digunakan untuk payload layanan web dan lain-lain, tetapi sangat nyaman untuk hasil AJAX.
sumber
Saya suka JSON terutama karena sangat singkat . Untuk konten web yang dapat di-gzip, ini tidak berarti masalah besar (karenanya mengapa x html sangat populer). Tetapi ada saat-saat di mana ini bisa bermanfaat.
Sebagai contoh, untuk satu proyek saya mengirimkan informasi yang perlu diserialisasi dan ditransmisikan melalui XMPP . Karena sebagian besar server akan membatasi jumlah data yang dapat Anda kirimkan dalam satu pesan, saya merasa terbantu menggunakan JSON daripada alternatif yang jelas, XML.
Sebagai bonus tambahan, jika Anda terbiasa dengan Python atau Javascript, Anda sudah cukup mengenal JSON dan dapat menafsirkannya tanpa banyak pelatihan sama sekali.
sumber
Apa itu JSON?
JavaScript Object Notation (JSON) adalah format pertukaran data ringan yang terinspirasi oleh objek literal dari JavaScript.
Nilai JSON dapat terdiri dari:
objek (koleksi pasangan nama-nilai) array (daftar nilai yang terurut) string (dalam tanda kutip ganda) angka benar, salah, atau nol
JSON independen terhadap bahasa.
JSON dengan PHP?
Setelah PHP Versi 5.2.0, ekstensi JSON didekodekan dan menyandikan fungsi sebagai default.
Json_encode - mengembalikan representasi nilai JSON Json_decode - Mendekode String JSON Json_last_error - Mengembalikan kesalahan terakhir yang terjadi.
Sintaks dan Aturan JSON?
Sintaks JSON berasal dari sintaksis notasi objek JavaScript:
Data dalam pasangan nama / nilai Data dipisahkan oleh koma Kurva kurung menahan benda kurung kurung
sumber
Kami harus melakukan proyek di kampus dan kami menghadapi masalah yang sangat besar, itu disebut Kebijakan Asal yang Sama. Amog hal-hal lain, itu membuat metode XMLHttpRequest Anda dari Javascript tidak dapat membuat permintaan ke domain selain domain tempat situs Anda aktif.
Misalnya, Anda tidak dapat mengajukan permintaan ke www.otherexample.com jika situs Anda ada di www.example.com. JSONRequest memungkinkan itu, tetapi Anda akan mendapatkan hasil dalam format JSON jika situs itu mengizinkannya (misalnya ia memiliki layanan web yang mengembalikan pesan dalam JSON). Itu adalah salah satu masalah di mana Anda bisa menggunakan JSON mungkin.
Berikut ini sesuatu yang praktis: Yahoo JSON
sumber
Perbedaan antara JSON dan sintaksis konvensional adalah sebagai berikut (dalam Javascript)
Konvensional
Dengan JSON
jika kita menggunakan JSON kita dapat mendefinisikan dengan cara yang berbeda sebagai
Hal penting yang harus kita ingat adalah bahwa, jika kita harus membangun kelas atau modal "Karyawan" dengan 100 elemen tanpa metode JSON kita harus menguraikan semuanya saat membuat kelas. Tetapi dengan JSON kita dapat mendefinisikan objek sebaris hanya ketika objek baru untuk kelas didefinisikan.
jadi baris di bawah ini adalah cara melakukan sesuatu dengan JSON (hanya cara sederhana untuk mendefinisikan sesuatu)
sumber
Kadang-kadang teknis diberikan ketika tidak ada yang diperlukan, dan sementara banyak jawaban terpilih secara teknis dan spesifik, saya pribadi tidak berpikir mereka lebih mudah dipahami, atau ringkas, seperti yang dapat ditemukan di Wikipedia, atau di dokumentasi resmi.
Cara saya suka berpikir tentang JSON persis seperti itu - bahasa dalam dunia bahasa yang berbeda. Namun, perbedaan antara JSON dan bahasa lain adalah "semua orang" berbicara "JSON, bersama dengan" bahasa ibu mereka ".
Menggunakan contoh dunia nyata, mari kita berpura-pura memiliki tiga orang. Satu orang berbicara Igbo sebagai bahasa ibu mereka. Orang kedua ingin berinteraksi dengan orang pertama, namun, orang pertama berbicara Yoruba sebagai bahasa pertama mereka.
Apa yang bisa kita lakukan?
Syukurlah, orang ketiga dalam contoh kita tumbuh berbicara dalam bahasa Inggris, tetapi juga berbicara baik Igbo dan Yoruba sebagai bahasa kedua, dan karenanya dapat bertindak sebagai perantara antara dua individu pertama.
Dalam dunia pemrograman, "orang" pertama adalah Python, "orang" kedua adalah Ruby, dan "orang" ketiga adalah JSON, yang kebetulan dapat "menerjemahkan" Ruby ke Python dan sebaliknya! Sekarang jelas analogi ini bukan yang sempurna, tetapi, sebagai seseorang yang bilingual, saya percaya ini adalah cara mudah untuk melihat bagaimana JSON berinteraksi dengan bahasa pemrograman lain.
sumber
Ini sangat sederhana. JSON adalah singkatan dari Java Script Object Notation. Anggap saja sebagai alternatif untuk menggunakan XML untuk mentransfer data antar komponen perangkat lunak.
Sebagai contoh, saya baru-baru ini menulis banyak layanan web yang mengembalikan JSON, dan beberapa pengembang Javascript kemudian menulis kode yang disebut layanan dan mengkonsumsi informasi yang dikembalikan dalam format itu.
sumber
JSON (notasi objek Javascript) adalah format data yang ringan untuk pertukaran / transfer data. Pasangan nilai kunci-nya seperti JavaScript. Untuk REST API, ini banyak digunakan untuk transfer data dari server ke klien. Saat ini banyak situs media sosial menggunakan ini. Meskipun saya tidak melihat ini sekuat XML sehubungan dengan tipe data. XML memiliki tipe data dan XSD yang sangat kaya. JSON agak kurang dalam hal ini.
Untuk jumlah data string yang sama, JSON akan lebih ringan dibandingkan dengan XML karena XML memiliki semua tag pembuka dan penutup, dll ...
sumber
Dalam konteks Java, salah satu alasan mengapa JSON mungkin ingin digunakan, adalah bahwa JSON dapat memberikan alternatif yang sangat baik untuk kerangka Serialisasi Java, yang telah (secara historis) ditunjukkan memiliki beberapa kerentanan yang cukup serius.
Joshua Bloch membahas hal ini secara mendalam dalam Butir 85 "Memilih Alternatif untuk Serialisasi Java" (Efektif Java 3rd Edition)
Serialisasi Java awalnya dimaksudkan untuk menerjemahkan struktur data ke dalam format yang dapat dengan mudah dikirim atau disimpan. JSON memenuhi persyaratan ini, tanpa eksploitasi serius yang disebutkan di atas.
sumber
Coba kode berikut untuk mem-parsing respons json php Anda: read.php
server.php
sumber