KomputerPengaturcaraan

Format JSON: penerangan, contoh

Pembolehubah, tatasusunan dan objek - satu bentuk biasa dan mudah untuk persembahan data. Menggambarkan data yang diambil dalam pelayar dalam JavaScript yang tidak semestinya bahasa server PHP. format JSON membolehkan anda menyusun mereka ke dalam satu keseluruhan, dan tidak memberi tumpuan kepada bahasa pengaturcaraan. Data yang ditukar menjadi sepasang "name = nilai". Nilai dalam setiap daripada mereka juga boleh menjadi koleksi pasangan ini.

JSON pakai dikaitkan dengan penyokong gigi dan objek JavaScript. Yang terakhir adalah agak wajar, kerana JSON = Notasi Objek format JavaScript. Dalam tahun-tahun kebelakangan ini, terutamanya dinamik, banyak telah berubah. Yang telah dicipta untuk tujuan tertentu, sering membawa keputusan yang tidak dijangka dan membuka wawasan baru.

pertukaran data: pelayar - server

teknologi AJAX telah menjadi tradisional, maklumat normal keseluruhan halaman tidak lagi popular. pengunjung, membuka laman web ini, memulakan satu siri pertukaran data separa ini, apabila beberapa muka surat sahaja berbeza di tempat yang tertunggak.

Ia percaya bahawa penampilan JSON berkaitan dengannya AJAX, tetapi sebenarnya bersekutu tatasusunan JavaScript dan Notasi Objek (terutamanya penerangan sintaks dan penggunaan objek) adalah lebih berkaitan dengan nisbah JSON, daripada pertukaran data antara pelayar dan pelayan.

Sejak kandungan halaman laman kontemporari telah benar-benar menjadi "besar" (keliling), dan keberkesanan format untuk pertukaran data telah mengambil maksud yang istimewa. Kita tidak boleh mengatakan bahawa adalah perwakilan JSON baru data, tetapi hakikat bahawa beliau telah lama menjadi elemen JavaScript sintaks adalah penting.

Penggunaan abjad Cyrillic dalam menamakan pembolehubah - fenomena yang tidak dijangka (karut), tetapi ia berfungsi dalam versi terkini Chrome, Firefox, dan juga, dalam Internet Explorer 11.

Cyrillic dan JSON

Sudah tentu, untuk menggunakan fenomena yang sama sekali tidak dijangka adalah tidak bernilai mengingati betapa mudahnya nilai-nilai pembolehubah yang dicatatkan pada huruf Rusia, bertukar menjadi bahasa raban, apa yang saya boleh katakan tentang nama, terutamanya asing.

Ia ragu bahawa inisiatif bagi menyokong nama Cyrillic luar persekitaran pelayar, yang dia sentiasa perlu berurusan dengan. Tetapi fakta ini memerlukan perhatian atas sebab yang mudah bahawa format JSON - ia adalah satu peluang untuk menulis nama-nama dan nilai-nilai yang anda suka kepada pemaju. Ini penting kerana dalam setiap jenis bidang masalah permohonan kerana ia diperlukan, dapat memudahkan debugging dan mengurangkan kesilapan.

Tidak kira apa jenis mempunyai asas inovasi sintaktik - JSON, ia adalah penting bahawa ia memberikan hak undang-undang dan peluang yang sebenar untuk meletakkan baris: "mana-mana nama = sebarang nilai."

Kita mesti memberikan penghormatan kepada bahasa JavaScript: yang menyediakan sintaks tidak memerlukan pemaju dan ia tidak mengenakan apa-apa. Pemaju bebas menggunakan sintaks bahasa bagi pembentukan optimum model data dan algoritma yang mereka gunakan.

PHP dan JSON

Mengambil data dalam format JSON, pelayan (melalui PHP, khususnya) membolehkan mereka untuk menangani kerana ia adalah dan untuk kembali hasil kembali ke penyemak imbas dalam format yang sama. Sumber lokasi PHP:

  • $ CJSON = array ( "a" => "alfa", "b" => "beta", "g" => "gamma").

Menukarkan format JSON untuk dihantar kepada pelayar:

  • $ CJS = json_encode ($ cJSON) .

keputusan tersenarai:

  • { "A": "alfa" , "b": "beta", "g": "gamma"}.

Dibenarkan yang terdapat dalam gambar bersarang.

Di sini dibentuk oleh array ditambah elemen baru "kepada dirinya" dengan indeks automatik "0", dan sekali lagi dengan ini index "z".

Fungsi songsang - json_decode () menukar rentetan JSON ke dalam tatasusunan PHP. keputusan yang sama boleh dicapai dengan memanipulasi fungsi PHP: implode () dan meletup (). Dalam beberapa kes, pilihan ini adalah lebih baik.

tahap bersarang

Unsur-unsur boleh bersarang di antara satu sama lain sebagai pelayar sampingan atau sebelah pelayan. Dalam format JSON amalan (Penerangan RFC 4627 standard) menyediakan lebih banyak daripada 4 tahap bersarang, tetapi tidak harus menyalahgunakan kemungkinan ini.

Ia adalah yang terbaik untuk tidak pernah melampaui batas sara munasabah, ia menjadikan kod boleh dibaca, lebih mudah untuk debug dan pemahaman pemaju lain.

JSON boleh dibawa kepada struktur data yang XML yang lebih mudah, memahami kedua-dua manusia dan komputer. Ini adalah benar, apabila jumlah data adalah kecil dan tahap bersarang pemaju memilih dengan bijak. Dalam semua kes lain, mengira bilangan kurungan dan memahami struktur data adalah sukar kerana pelayar sebelah dan sebelah pelayan.

fail JSON

Pemakaian JSON dalam amalan sering tidak terhad kepada persepsi ada tali pendek. Mana-mana struktur data sentiasa pragmatik. Di JSON sama boleh berkesan digunakan dalam data sebenar masalah (perusahaan negeri), dan juga bagi pelaksanaan data sementara (cache objek).

perusahaan dan JSON-format: Contoh

Biasanya, mencatatkan kira-kira satu orang - nama keluarga, nama pertama, tarikh lahir, profesion, pendidikan, ... dan beberapa nilai-nilai lebih bersahaja. Walaupun dalam rekod syarikat yang paling mencabar satu orang tidak melebihi sedozen atau dua bidang. persepsi ini disediakan dan boleh diletakkan berturut-turut dalam pangkalan data.

Jika syarikat itu menggaji beberapa orang - adalah satu perkara, tetapi jika puluhan ribu - agak lain. Anda boleh terus menggunakan pangkalan data, tetapi menyimpannya dalam fail yang kelihatan lebih praktikal dan lebih murah untuk digunakan.

Fail format JSON - fail teks biasa. Kes dengan kakitangan, hak semua. Membacanya selalu mungkin. Terbuka dan perubahan juga boleh didapati di mana-mana editor teks yang tidak mempunyai kebiasaan untuk menambah maklumat proprietari mereka dalam kandungan fail. Secara umumnya, * .json - ia adalah teks tulin dalam penyemak imbas, dan dalam fail - tali.

Gambar menunjukkan objek cache, membentuk satu contoh gambar.

Ini adalah satu contoh kandungan fail laman web yang dijana menawarkan warna jumlah cetakan pada mug dan seramik. Sudah tentu, untuk membuat keputusan dengan berformat JSON anda membukanya, benar-benar bermasalah. Walau bagaimanapun, dalam hal ini dan sama kes, masalah dengan membaca fail timbul: PHP membaca fail, mem-parsing ia dan menghantar kepada pelayar. data pengunjung diubah dikembalikan kepada pelayan dan dicatat semula.

Dalam penjelmaan ini, penggunaan fail muncul sebagai pembolehubah yang disimpan di luar kod. Jika perlu, pembolehubah yang diberikan nilai dari fail, dan jika ia diubah oleh pengunjung dalam dialog itu, yang disediakan untuk laman web ini, semua perubahan akan direkodkan kerana ia adalah. Tidak perlu membaca dan mengesahkan kandungan fail.

JSON sering digunakan untuk menyimpan dan menggunakan maklumat sulit - tidak perjawatan, ia tidak perlu untuk melihat sama ada pemaju atau pelawat laman web.

XML dan JSON

"Semua dalam masa yang baik" - pengetahuan klasik, diambil mudah walaupun sebelum pengaturcaraan. "Bukan tidak ada hanya" - ini juga sebelum orang menulis program difahami pertama dalam bahasa tiruan.

format data didalam keperluan sebenar dan berdasarkan pengetahuan yang dicapai. Dalam HTML - jalan, dalam XML - mempunyai cara sendiri, dan JSON - logik JavaScript Objek adalah diperluaskan kepada bahasa lain. Untuk membandingkan satu dengan yang lain tidak adalah pekerjaan terbaik. Untuk setiap sendiri.

XML hebat menghadapi tugas-tugas mereka dan turun dalam sejarah jelas tidak akan. A JSON telah digunakan sehingga tahun 2006, tidak setiap pemaju telah dianggap adalah menjadi tanggungjawabnya untuk mengisytiharkan pilihan tertentu membentangkan data mereka.

Terdapat kes-kes dalam amalan apabila BASIC ditulis program tidak menggunakan JSON seperti, tetapi sempurna menyimpan pasangan "name = nilai" dan menjadikannya tersedia untuk muat algoritma pada masa yang tepat.

aksara khas ( «` »,« ~ »,« | », ...) dan format data

Tabiat bekerja dengan array bersekutu dan objek dalam JavaScript menggunakan JSON semula jadi dan selesa. Ia benar-benar adalah format besar, tetapi keupayaan untuk berkongsi dan berhubung, memanipulasi rentetan dan array, mempunyai akar lebih mendalam.

Fungsi menyertai / split bahasa JavaScript dan meledak / meletup bahasa PHP membolehkan mudah dan berkesan untuk digunakan sebagai format XML data, JSON, dan versi sendiri. Yang terakhir ini sering optimum, dan dua yang pertama adalah sesuai untuk pilihan kegunaan umum. Jika ia adalah penghantaran maklumat kepada pemaju lain, pelayan, ke fail atau pangkalan data, XML dan JSON adalah lebih baik tidak mencari. Mereka semua bekerja, kerana penghantaran / penerimaan maklumat tidak memerlukan komen.

Menggunakan JSON di Android

Membaca dan menulis data dalam format JSON dalam Android - bukan sahaja norma perkara, tetapi juga satu set objek, berorientasikan untuk bekerja dengan format data tersebut.

Banyak atribut kejayaan luar biasa laman rangkaian sosial supaya ahli dan pengunjung laman-laman (Facebook, LinkedIn, Twitter, ...) mendapat manfaat daripada bahan-bahan yang diterbitkan di sana.

Ia menggunakannya untuk JSON. Mungkin ini adalah benar, tetapi soalan itu tidak dalam rangkaian sosial luar biasa, tetapi hakikat bahawa sesungguhnya penyediaan maklumat dalam format "name = nilai" adalah mudah untuk pengaturcaraan, dan untuk digunakan. Berbeza dengan «XML» yang ketat dan complexed ia adalah benar-benar format Mesra manusia.

array bersekutu

Ia kebetulan bahawa pembolehubah boleh digambarkan (JavaScript) atau menentukan nilai permulaan (PHP). Dalam kedua-dua kes, pembolehubah boleh menukar jenisnya adalah sangat mudah. Jika perlu, bahasa yang tidak penukaran ini secara automatik.

Tetapi mengapa tidak berubah-ubah dan namanya tidak muncul dalam pelaksanaan algoritma dan tidak hilang apabila keperluan untuk ia akan hilang? array bersekutu membolehkan kita untuk menyelesaikan masalah ini, tetapi kemudian penggunaan apa-apa nama pembolehubah yang agak dinamik array dan sintaks yang sesuai akan mengikuti pada masa penggunaan.

Ini terutamanya fakta ketara dalam PHP, tetapi ini boleh diterima, sebagai, sesungguhnya, dengan simbol "$" kepada nama yang berubah-ubah dan gabungan "$ this->" di dalam objek. Pada masa yang sama pengaturcaraan dalam JavaScript dan PHP, pertama benar-benar kagum bagaimana segala-galanya adalah berbeza, tetapi kemudian segala-galanya menjadi begitu biasa dan semula jadi ...

pelbagai bersekutu -> JSON

Dalam contoh ini, oleh perpustakaan PHPOffice / PHPWord mewujudkan dokumen * .docx, dan pelbagai aProperties mengandungi sifat dokumen (pengarang, syarikat, tajuk, kategori, tarikh, ...).

Tatasusunan kedua mengandungi data pada halaman:

  • Orientasi (landskap atau normal);
  • dimensi mendatar dan menegak;
  • inden (bidang kiri, atas, bawah, kanan);
  • pengaki.

Pembentukan dokumen itu dilakukan pada pelayan yang sedang berjalan perpustakaan PHPOffice / PHPWord. Laman ini menyediakan nilai-nilai pengurusan tatasusunan ini melalui JavaScript. Hasilnya dikembalikan dalam JSON kembali ke pelayan dan digunakan dalam algoritma dalam PHP, dalam rekaannya, yang ada di tatasusunan.

pembolehubah dinamik

format JSON menyelesaikan masalah pembolehubah dinamik. Di sini anda boleh membuat, mengubah suai, dan memadam pembolehubah tanpa buasir sintaksis yang tidak perlu. Ia kelihatan cantik dan digunakan dalam JavaScript.

Dalam contoh ini GetOjInfo () memilih nama nilai dan kepentingan objek. Pada mulanya objek JSON-string diberikan kepada ojInfo berubah-ubah, ia mempunyai tiga unsur: Nama, umur dan bekerja. Tidak lama kemudian ditambah kepada Status yang berubah-ubah.

Selepas pengendali pertama memadam ojInfo rentetan kehilangan umur elemen, selepas memadam kedua - kerja elemen. Jika kita menganggap bahawa rentetan mempunyai pilihan pembolehubah yang mempunyai makna tertentu, melalui JSON sebenarnya boleh membuat, mengubah suai atau memadam mana-mana set mereka dari ladang pembedahan (syntax) dan pemprosesan bahasa Huraian JavaScript.

format JSON pada apa-apa pilihan tidak direka, tetapi ia adalah mungkin, praktikal dan mudah.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.delachieve.com. Theme powered by WordPress.