JSON, atau Notasi Objek JavaScript, ada di sekitar kita. Jika Anda pernah menggunakan aplikasi web, kemungkinan besar aplikasi tersebut menggunakan JSON untuk menyusun, menyimpan, dan mengirimkan data antara servernya dan perangkat Anda Show
Pada artikel ini, kita akan membahas secara singkat perbedaan antara JSON dan JavaScript, lalu beralih ke berbagai cara untuk mengurai JSON dengan JavaScript di browser dan di Node. proyek js Perbedaan antara JSON dan JavaScriptMeskipun JSON terlihat seperti JavaScript biasa, lebih baik menganggap JSON sebagai format data, mirip dengan file teks. Kebetulan JSON terinspirasi oleh sintaks JavaScript, itulah sebabnya mereka terlihat sangat mirip Mari kita lihat objek JSON dan larik JSON dan bandingkan dengan JavaScript Objek JSON vs Literal Objek JavaScriptPertama, inilah objek JSON profil jane. jsonPerbedaan utama antara objek JSON dan objek JavaScript biasa – juga disebut literal objek – terletak pada tanda kutip. Semua kunci dan nilai tipe string dalam objek JSON harus dibungkus dengan tanda kutip ganda ( 9)Literal objek JavaScript sedikit lebih fleksibel. Dengan literal objek, Anda tidak perlu membungkus kunci dan string dalam tanda kutip ganda. Sebaliknya, Anda dapat menggunakan tanda kutip tunggal ( 0), atau tidak menggunakan jenis tanda kutip apa pun untuk kunciBerikut adalah tampilan kode di atas sebagai literal objek JavaScript
Perhatikan bahwa kunci _1 dibungkus dengan tanda kutip tunggal. Dengan literal objek, Anda harus membungkus kunci di mana kata dipisahkan dengan tanda hubung ( 2) dalam tanda kutipJika Anda ingin menghindari tanda kutip, Anda dapat menulis ulang kunci untuk menggunakan huruf besar kecil ( 3) atau memisahkan kata dengan garis bawah ( 4) sebagai gantinyaArray JSON vs array JavaScriptArray JSON bekerja hampir sama dengan array di JavaScript, dan dapat berisi string, boolean, angka, dan objek JSON lainnya. Misalnya _profil. jsonInilah tampilannya di JavaScript biasa
JSON sebagai stringAnda mungkin bertanya-tanya, jika ada objek dan array JSON, tidak bisakah Anda menggunakannya dalam program Anda seperti literal atau array objek JavaScript biasa? Alasan mengapa Anda tidak dapat melakukan ini adalah karena JSON sebenarnya hanyalah sebuah string Misalnya, ketika Anda menulis JSON dalam file terpisah seperti dengan 5 atau 6 di atas, file tersebut sebenarnya berisi teks dalam bentuk objek atau larik JSON, yang kebetulan terlihat seperti JavaScriptDan jika Anda membuat permintaan ke API, itu akan mengembalikan sesuatu seperti ini
Sama seperti file teks, jika Anda ingin menggunakan JSON dalam proyek Anda, Anda harus mengurai atau mengubahnya menjadi sesuatu yang dapat dipahami oleh bahasa pemrograman Anda. Misalnya, mem-parsing objek JSON dengan Python akan membuat kamus Dengan pemahaman itu, mari kita lihat berbagai cara untuk mengurai JSON dalam JavaScript Cara mengurai JSON di browserJika Anda bekerja dengan JSON di browser, Anda mungkin menerima atau mengirim data melalui API Mari kita lihat beberapa contoh Cara mengurai JSON dengan const profiles = [ { name: 'Jane Doe', 'favorite-game': 'Stardew Valley', subscriber: false }, { name: 'John Doe', 'favorite-game': 'Dragon Quest XI', subscriber: true } ]; _7Cara termudah untuk mendapatkan data dari API adalah dengan 7, yang menyertakan metode 9 untuk mengurai respons JSON menjadi literal atau larik objek JavaScript yang dapat digunakan secara otomatisBerikut beberapa kode yang menggunakan _7 untuk membuat permintaan 1 untuk lelucon bertema pengembang dari Chuck Norris Jokes API gratis
Jika Anda menjalankan kode itu di browser, Anda akan melihat sesuatu seperti ini masuk ke konsol
Meskipun terlihat seperti objek JSON, sebenarnya ini adalah literal objek JavaScript, dan Anda dapat menggunakannya secara bebas di program Anda Cara merangkai JSON dengan {"name":"Jane Doe","favorite-game":"Stardew Valley","subscriber":false}2Tetapi bagaimana jika Anda ingin mengirim data ke API? Misalnya, Anda ingin mengirimkan lelucon Chuck Norris ke API Lelucon Chuck Norris agar orang lain dapat membacanya nanti Pertama, Anda akan menulis lelucon Anda sebagai objek JS literal
Kemudian, karena Anda mengirim data ke API, Anda harus mengubah literal objek 3 Anda menjadi string JSONUntungnya, JavaScript menyertakan metode yang sangat membantu untuk melakukannya – 2
Saat kami mengonversi literal objek menjadi string JSON dalam contoh ini, 2 juga berfungsi dengan arrayTerakhir, Anda hanya perlu mengirim lelucon bersenar JSON Anda kembali ke API dengan permintaan 6Perhatikan bahwa Chuck Norris Jokes API sebenarnya tidak memiliki fitur ini. Tetapi jika ya, seperti inilah tampilan kodenya
Dan begitu saja, Anda telah mengurai JSON yang masuk dengan 7 dan menggunakan 2 untuk mengubah literal objek JS menjadi string JSONCara bekerja dengan file JSON lokal di browserSayangnya, tidak mungkin (atau disarankan) memuat file JSON lokal di browser 7 akan menimbulkan kesalahan jika Anda mencoba memuat file lokal. Misalnya, Anda memiliki file JSON dengan beberapa lelucon 0lelucon. jsonDan Anda ingin menguraikannya dan membuat daftar lelucon di halaman HTML sederhana Jika Anda membuat halaman dengan yang berikut dan membukanya di browser Anda 1indeks. htmlAnda akan melihat ini di konsol 2Secara default, browser tidak mengizinkan akses ke file lokal untuk alasan keamanan. Ini adalah hal yang baik, dan Anda tidak boleh mencoba mengatasi perilaku ini Sebagai gantinya, hal terbaik untuk dilakukan adalah mengonversi file JSON lokal menjadi JavaScript. Untungnya, ini cukup mudah karena sintaks JSON sangat mirip dengan JavaScript Yang perlu Anda lakukan hanyalah membuat file baru dan mendeklarasikan JSON Anda sebagai variabel 3lelucon. jsDan tambahkan ke halaman Anda sebagai skrip terpisah _4Anda akan dapat menggunakan larik 0 secara bebas dalam kode AndaAnda juga dapat menggunakan JavaScript _1 untuk melakukan hal yang sama, tetapi itu sedikit di luar cakupan artikel iniTetapi bagaimana jika Anda ingin bekerja dengan file JSON lokal dan memiliki Node. js diinstal? Cara mengurai JSON di Node. jsNode. js adalah runtime JavaScript yang memungkinkan Anda menjalankan JavaScript di luar browser. Anda dapat membaca semua tentang Node. js di sini Apakah Anda menggunakan Node. js untuk menjalankan kode secara lokal di komputer Anda, atau untuk menjalankan seluruh aplikasi web di server, ada baiknya mengetahui cara bekerja dengan JSON Untuk contoh berikut, kami akan menggunakan file 2 yang sama 0lelucon. jsonCara mengurai file JSON dengan fetch('https://api.chucknorris.io/jokes/random?category=dev') .then(res => res.json()) // the .json() method parses the JSON response into a JS object literal .then(data => console.log(data)); 3Mari kita mulai dengan metode termudah Jika Anda memiliki file JSON lokal, yang perlu Anda lakukan hanyalah menggunakan 3 untuk memuatnya seperti Node lainnya. modul js 6File JSON akan diuraikan untuk Anda secara otomatis dan Anda dapat mulai menggunakannya dalam proyek Anda _7Perhatikan bahwa ini sinkron, artinya program Anda akan berhenti hingga mem-parsing seluruh file sebelum melanjutkan. File JSON yang sangat besar dapat menyebabkan program Anda melambat, jadi berhati-hatilah dengan itu Juga, karena mem-parsing JSON dengan cara ini memuat semuanya ke dalam memori, lebih baik menggunakan metode ini untuk file JSON statis. Jika file JSON berubah saat program Anda berjalan, Anda tidak akan memiliki akses ke perubahan tersebut hingga Anda memulai ulang program dan mengurai file JSON yang diperbarui Cara mengurai file JSON dengan fetch('https://api.chucknorris.io/jokes/random?category=dev') .then(res => res.json()) // the .json() method parses the JSON response into a JS object literal .then(data => console.log(data)); 5) dan fetch('https://api.chucknorris.io/jokes/random?category=dev') .then(res => res.json()) // the .json() method parses the JSON response into a JS object literal .then(data => console.log(data)); 6Ini adalah cara yang lebih tradisional (karena tidak ada istilah yang lebih baik) untuk mengurai file JSON di Node. Proyek js – baca file dengan modul 7 (sistem file), lalu parsing dengan 6Mari kita lihat bagaimana melakukannya dengan metode ________18______9. Pertama, tambahkan modul _7 ke proyek Anda 8Kemudian, buat variabel baru untuk menyimpan output dari file 2 dan atur sama dengan 9 _9 _9 mengambil beberapa argumen. Yang pertama adalah jalur ke file yang ingin Anda baca _0Tetapi jika Anda memasukkan 4 ke konsol sekarang, Anda akan melihat sesuatu seperti ini _1Itu hanya berarti bahwa modul _7 sedang membaca file, tetapi tidak mengetahui pengkodean atau format file tersebut. _7 dapat digunakan untuk memuat hampir semua file, dan bukan hanya yang berbasis teks seperti JSON, jadi kita perlu memberi tahu cara file dikodekanUntuk file berbasis teks, penyandian biasanya 7 _2Sekarang jika Anda masuk _4 ke konsol, Anda akan melihat konten fileNamun sejauh ini kami hanya membaca file, dan itu masih berupa string. Kita harus menggunakan metode lain untuk mengurai 4 menjadi objek atau larik JavaScript yang dapat digunakanUntuk melakukannya, kita akan menggunakan 6 _3Seperti namanya, _6 mengambil string JSON dan mem-parsingnya menjadi literal atau larik objek JavaScriptSeperti dengan metode _2 di atas, 9 adalah metode sinkron, artinya dapat menyebabkan program Anda melambat jika membaca file besar, JSON atau lainnyaJuga, itu hanya membaca file sekali dan memuatnya ke dalam memori. Jika file berubah, Anda harus membaca file lagi di beberapa titik. Untuk mempermudah, Anda mungkin ingin membuat fungsi sederhana untuk membaca file Inilah tampilannya _4Cara mengurai JSON dengan const newJoke = { categories: ['dev'], value: "Chuck Norris's keyboard is made up entirely of Cmd keys because Chuck Norris is always in command." }; 4) dan fetch('https://api.chucknorris.io/jokes/random?category=dev') .then(res => res.json()) // the .json() method parses the JSON response into a JS object literal .then(data => console.log(data)); 6Metode _6 sangat mirip dengan 9, kecuali metode ini bekerja secara asinkron. Ini bagus jika Anda memiliki file besar untuk dibaca dan Anda tidak ingin menyimpan sisa kode AndaIni contoh dasarnya _5Sejauh ini terlihat mirip dengan apa yang kita lakukan dengan 9, kecuali kita tidak menugaskannya ke variabel seperti 4. Karena asinkron, kode apa pun setelah 6 akan berjalan sebelum selesai membaca fileSebagai gantinya, kami akan menggunakan fungsi callback dan mengurai JSON di dalamnya _6Yang mencetak berikut ke konsol _7Seperti dengan _9, 6 memuat file ke dalam memori, artinya Anda harus membaca file itu lagi jika ada perubahanJuga, meskipun _6 asinkron, pada akhirnya memuat seluruh file yang sedang dibaca ke dalam memori. Jika Anda memiliki file besar, mungkin lebih baik untuk melihat Node. js streaming sebagai gantinyaCara merangkai JSON dengan {"name":"Jane Doe","favorite-game":"Stardew Valley","subscriber":false}2 di Node. jsTerakhir, jika Anda mem-parsing JSON dengan Node. js, ada kemungkinan besar Anda perlu mengembalikan JSON di beberapa titik, mungkin sebagai respons API Untungnya, ini bekerja dengan cara yang sama seperti di browser – cukup gunakan 2 untuk mengonversi literal atau larik objek JavaScript menjadi string JSON _8Dan itu saja. Kami telah membahas hampir semua hal yang perlu Anda ketahui tentang bekerja dengan JSON di browser dan di Node. proyek js Sekarang keluarlah dan parsing atau string JSON ke isi hati Anda Apakah saya melewatkan sesuatu? IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN IKLAN Baca lebih banyak posting Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai Bagaimana cara mengembalikan respons JSON dari REST API?Untuk mengembalikan JSON dari server, Anda harus menyertakan data JSON dalam isi pesan respons HTTP dan memberikan "Content-Type. tajuk respons aplikasi/json" . Header respons Tipe-Konten memungkinkan klien menginterpretasikan data dalam badan respons dengan benar.
Bagaimana cara mem-parsing respons JSON dari API dalam JavaScript?Contoh - Mengurai JSON
. parse() untuk mengonversi teks menjadi objek JavaScript Use the JavaScript function JSON.parse() to convert text into a JavaScript object . const obj = JSON. parse('{"nama". "Yohanes", "umur". 30, "kota". "New York"}'); .
Bagaimana cara mengakses respons JSON dalam JavaScript?Untuk mengakses objek JSON di JavaScript, parse dengan JSON. parse() , dan akses melalui “. ” atau “[]” .
Bagaimana cara mencetak data JSON dari API dalam JavaScript?Untuk mencetak JSON dengan cantik di JavaScript, Anda dapat menggunakan JSON. merangkai(obj, pengganti, spasi) metode . Parameter ketiga dari JSON. stringify() metode menentukan jumlah spasi yang akan digunakan saat mengeluarkan string JSON. |