- docx (format Microsoft Word);
- pdf (format Adobe);
- mobi (biasa digunakan dalam peranti Amazon Kindle);
- dan banyak lagi (ePub, djvu, fb2...).
JSON
Notasi Objek JavaScript. Awak dah kenal sikit dengan dia! Kami bercakap mengenainya dalam kuliah ini , dan kami melihat pesirilan dalam JSON di sini . Ia mendapat namanya atas sebab tertentu. Objek Java yang ditukar kepada JSON sebenarnya kelihatan sama seperti objek JavaScript. Anda tidak perlu tahu JavaScript untuk memahami maksud objek kami:{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
}
Tidak perlu melepasi satu objek. JSON juga boleh mengandungi pelbagai objek:
[
{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
},
{
"title": "Бесы",
"author": "Федор Достоевский",
"year": 1872
},
{
"title": "Чайка",
"author": "Антон Чехов",
"year": 1896
}
]
Memandangkan JSON ialah objek JavaScript, ia menyokong format data JavaScript berikut:
- rentetan;
- nombor (nombor);
- objek (objek);
- tatasusunan (susunan);
- nilai boolean (benar dan salah);
- null.
-
Format yang boleh dibaca manusia. Ini adalah kelebihan yang jelas jika pengguna akhir anda adalah manusia. Contohnya, pelayan anda menyimpan pangkalan data dengan jadual penerbangan. Pelanggan manusia meminta data daripada pangkalan data ini menggunakan aplikasi web sambil duduk di rumah di hadapan komputer. Memandangkan anda perlu menyediakan data dalam format yang dia boleh fahami, JSON ialah penyelesaian yang hebat.
-
Kesederhanaan. Anda boleh katakan ia adalah asas :) Di atas kami memberikan contoh dua fail JSON. Dan walaupun anda tidak pernah mendengar tentang kewujudan JavaScript (apatah lagi objeknya), anda boleh dengan mudah memahami jenis objek yang diterangkan di sana.
Keseluruhan dokumentasi JSON ialah satu halaman web dengan beberapa gambar. -
Berleluasa. JavaScript ialah bahasa front-end yang dominan, dan ia menentukan syarat-syaratnya. Menggunakan JSON adalah satu kemestian. Oleh itu, sejumlah besar perkhidmatan web menggunakan JSON sebagai format untuk bertukar-tukar data. Setiap IDE moden menyokong format JSON (termasuk Intellij IDEA). Sekumpulan perpustakaan telah ditulis untuk bekerja dengan JSON untuk semua bahasa pengaturcaraan yang mungkin.
YAML
Pada permulaan kewujudannya, ia bermaksud Yet Another Markup Language - "bahasa penanda lain." Pada masa itu ia diletakkan sebagai pesaing kepada XML. Kini, selepas peredaran masa, ia adalah singkatan kepada “YAML Ain't Markup Language” (“YAML is not a markup language”). Dia macam mana? Bayangkan kita perlu mencipta 3 kelas watak untuk permainan komputer kita: Warrior, Mage dan Thief. Mereka akan mempunyai ciri-ciri berikut: kekuatan, ketangkasan, ketahanan, dan satu set senjata. Beginilah rupa fail YAML kami dengan penerangan kelas:classes:
class-1:
title: Warrior
power: 8
agility: 4
stamina: 7
weapons:
- sword
- spear
class-2:
title: Mage
power: 5
agility: 7
stamina: 5
weapons:
- magic staff
class-3:
title: Thief
power: 6
agility: 6
stamina: 5
weapons:
- dagger
- poison
Fail YAML mempunyai struktur pokok: beberapa elemen bersarang dalam yang lain. Kita boleh mengawal sarang dengan menggunakan bilangan ruang tertentu untuk menandakan setiap tahap. Apakah kelebihan format YAML?
-
Boleh dibaca manusia. Sekali lagi, walaupun anda melihat fail yaml tanpa penerangan, anda boleh memahami objek yang diterangkan di sana dengan mudah. YAML ialah sejauh mana kebolehbacaan manusia bahawa halaman utama yaml.org ialah fail yaml biasa :)
-
Kekompakan. Struktur fail dibentuk oleh ruang: tidak perlu menggunakan kurungan atau petikan.
-
Sokongan untuk struktur data asli kepada bahasa pengaturcaraan. Kelebihan besar YAML berbanding JSON dan banyak format lain ialah ia menyokong struktur data yang berbeza. Antaranya:
-
!!map
Koleksi tidak tertib pasangan kunci:nilai tanpa kemungkinan pendua; -
!!map
Urutan tersusun bagi pasangan kunci:nilai tanpa kemungkinan pendua; -
!!pair:
Urutan tersusun bagi pasangan kunci:nilai dengan kemungkinan pendua; - !!set
Urutan nilai yang tidak tertib yang tidak sama antara satu sama lain; - !!seq
Urutan nilai arbitrari;
Beberapa struktur ini akan anda kenali dari Jawa! :) Terima kasih kepada ciri ini, anda boleh menyusun pelbagai struktur data daripada bahasa pengaturcaraan ke dalam format YAML.
-
-
Keupayaan untuk menggunakan sauh dan alias
Terjemahan perkataan "anchor" dan "alias" - "anchor" dan "pseudonim". Pada dasarnya, ia menerangkan dengan tepat intipati istilah ini dalam YAML.
Mereka membenarkan anda mengenal pasti elemen dalam fail yaml, dan merujuknya dalam seluruh fail jika ia berlaku berulang kali. Anchor dibuat menggunakan simbol
&
dan alias dibuat menggunakan*
.Katakan kita mempunyai fail dengan penerangan tentang buku Leo Tolstoy. Untuk mengelak daripada menulis nama pengarang secara manual setiap kali, kami hanya akan membuat sauh "leo" dan merujuknya menggunakan alias apabila kami memerlukannya:
books: book-1: title: War and Peace author: &leo Leo Tolstoy year: 1869 book-2: title: Anna Karenina author: *leo year: 1873 book-3: title: Family Happiness author: *leo year: 1859
Apabila kami membaca fail ini dengan beberapa penghurai, nilai "Leo Tolstoy" akan digantikan di tempat yang betul menggantikan alias kami.
- Anda boleh membenamkan data dalam format lain dalam YAML. Sebagai contoh, JSON:
books: [ { "title": "War and Peace", "author": "Leo Tolstoy", "year": 1869 }, { "title": "Anna Karenina", "author": "Leo Tolstoy", "year": 1873 }, { "title": "Family Happiness", "author": "Leo Tolstoy", "year": 1859 } ]
Format bersiri lain
XML
Format ini berdasarkan pokok teg yang dipanggil.<book>
<title>Harry Potter and the Philosopher’s Stone</title>
<author>J. K. Rowling</author>
<year>1997</year>
</book>
Setiap elemen terdiri daripada teg pembuka dan penutup (<> dan </>). Setiap elemen boleh mempunyai elemen bersarang. XML ialah format biasa, tidak kalah dengan JSON dan YAML (jika kita bercakap tentang penggunaan dalam projek sebenar). Kami mempunyai kuliah berasingan tentang XML .
BSON (JSON binari)
Seperti namanya, ia sangat serupa dengan JSON, tetapi tidak boleh dibaca manusia dan beroperasi pada data dalam format binari. Ini menjadikannya sangat mudah untuk menyimpan dan memindahkan imej dan lampiran lain. Selain itu, BSON menyokong beberapa jenis data yang tidak tersedia dalam JSON. Sebagai contoh, anda boleh menulis tarikh (dalam format milisaat) atau sekeping kod JavaScript ke dalam fail BSON. Pangkalan data NoSQL yang popular MongoDB menyimpan maklumat dalam format BSON.Protokol berasaskan kedudukan
Dalam sesetengah situasi, kita perlu mengurangkan secara mendadak jumlah data yang dipindahkan (contohnya, jika terdapat banyak data dan kita perlu mengurangkan beban). Dalam keadaan ini, kita boleh menggunakan protokol berasaskan kedudukan , iaitu, lulus nilai parameter tanpa nama parameter itu sendiri."Leo Tolstoy" | "Anna Karenina" | 1873
Data dalam format ini mengambil lebih sedikit ruang daripada fail JSON yang lengkap. Sudah tentu, terdapat format bersiri lain, tetapi anda tidak perlu mengetahui semuanya sekarang :) Adalah baik untuk membiasakan diri dengan format yang kini menjadi standard industri untuk pembangunan aplikasi, dan mengingati kelebihan dan perbezaannya antara satu sama lain . Dan kuliah kami telah sampai ke penghujungnya :) Jangan lupa selesaikan beberapa masalah hari ini! Jumpa lagi! :)
GO TO FULL VERSION