- docx (format Microsoft Word);
- pdf (format Adobe);
- mobi (biasa digunakan pada peranti Amazon Kindle);
- dan banyak lagi (ePub, djvu, fb2, dll.).
JSON
Notasi Objek JavaScript. Anda sudah tahu serba sedikit tentang format ini! Kami membincangkannya dalam pelajaran ini , dan kami membincangkan penyirian ke JSON di sini . Ia mendapat namanya atas sebab tertentu. Objek Java yang ditukar kepada JSON sebenarnya kelihatan sama seperti objek dalam JavaScript. Anda tidak perlu tahu JavaScript untuk memahami objek kami:
{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
}
Kami tidak terhad kepada menghantar satu objek. Format JSON juga boleh mewakili pelbagai objek:
[
{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
},
{
"title": "Demons",
"author": "Fyodor Dostoyevsky",
"year": 1872
},
{
"title": "The Seagull",
"author": "Anton Chekhov",
"year": 1896
}
]
Oleh kerana JSON mewakili objek JavaScript, ia menyokong format data JavaScript berikut:
- rentetan;
- nombor;
- objek;
- tatasusunan;
- boolean (benar dan salah);
- null.
-
Format yang boleh dibaca manusia. Ini adalah kelebihan yang jelas jika pengguna akhir anda adalah manusia. Sebagai contoh, katakan pelayan anda mempunyai pangkalan data dengan jadual penerbangan. Seorang pelanggan manusia, duduk di komputernya di rumah, meminta data daripada pangkalan data ini menggunakan aplikasi web. Kerana anda perlu menyediakan data dalam format yang dia boleh fahami, JSON ialah penyelesaian yang hebat.
-
Kesederhanaan. Ia sangat mudah :) Di atas, kami memberikan contoh dua fail JSON. Dan walaupun anda belum pernah mendengar tentang JavaScript (apatah lagi objek JavaScript), anda boleh memahami jenis objek yang diterangkan di sana dengan mudah.
Keseluruhan dokumentasi JSON terdiri daripada halaman web dengan beberapa gambar. -
Penggunaan meluas. JavaScript ialah bahasa front-end yang dominan, dan ia mempunyai keperluannya sendiri. Menggunakan JSON adalah satu kemestian. Oleh itu, sejumlah besar perkhidmatan web menggunakan JSON sebagai format pertukaran data. Setiap IDE moden menyokong format JSON (termasuk IntelliJ IDEA). Sekumpulan perpustakaan telah ditulis untuk semua jenis bahasa pengaturcaraan untuk membolehkan bekerja dengan JSON.
YAML
Pada mulanya, YAML bermaksud "Yet Another Markup Language". Apabila ia bermula, ia diletakkan sebagai pesaing kepada XML. Kini, dengan peredaran masa, YAML telah membawa maksud "YAML Ain't Markup Language". Apa sebenarnya? Bayangkan kita perlu mencipta 3 kelas untuk mewakili watak dalam permainan komputer: Warrior, Mage dan Thief. Mereka akan mempunyai ciri-ciri berikut: kekuatan, ketangkasan, ketahanan, satu set senjata. Beginilah rupa fail YAML yang menerangkan kelas kami:
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 pada yang lain. Kami boleh mengawal sarang menggunakan bilangan ruang tertentu, yang kami gunakan untuk menandakan setiap tahap. Apakah kelebihan format YAML?
-
Boleh dibaca manusia. Sekali lagi, walaupun melihat fail YAML tanpa penerangan, anda boleh memahami objek yang diterangkan dengan mudah. YAML sangat mudah dibaca oleh manusia sehingga laman web yaml.org ialah fail YAML biasa :)
-
Kekompakan. Struktur fail dibuat menggunakan ruang: tidak perlu menggunakan kurungan atau tanda petikan.
-
Sokongan untuk struktur data asli untuk bahasa pengaturcaraan. Kelebihan besar YAML berbanding JSON dan banyak format lain ialah ia menyokong pelbagai struktur data. Mereka termasuk:
-
!!map
Satu set pasangan nilai kunci yang tidak tertib yang tidak boleh mempunyai pendua; -
!!map
Urutan tertib pasangan nilai kunci yang tidak boleh mempunyai pendua; -
!!pasangan:
Urutan tertib pasangan nilai kunci yang boleh mempunyai pendua; - !!set
Satu jujukan tidak tertib nilai yang tidak sama antara satu sama lain; - !!seq
Urutan nilai arbitrari;
Anda akan mengenali beberapa struktur ini dari Java! :) Ini bermakna pelbagai struktur data daripada bahasa pengaturcaraan boleh disirikan ke dalam YAML.
-
-
Keupayaan untuk menggunakan sauh dan alias
Penanda ini membolehkan anda mengenal pasti beberapa elemen dalam fail YAML, dan kemudian merujuknya dalam seluruh fail jika ia berlaku berulang kali. Sauh dibuat menggunakan simbol & , dan alias dibuat menggunakan * .
Katakan kita mempunyai fail yang menerangkan buku oleh Leo Tolstoy. Untuk mengelak daripada menulis nama pengarang bagi setiap buku, kami hanya mencipta 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 fail ini dihuraikan, nilai "Leo Tolstoy" digantikan di tempat yang betul di mana kami mempunyai alias kami.
- YAML boleh membenamkan data dalam format lain. 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 adalah berdasarkan pokok tag.
<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 yang sama baiknya dengan JSON dan YAML (jika kita bercakap tentang projek sebenar). Kami mempunyai pelajaran berasingan tentang XML .
BSON (JSON binari)
Seperti namanya, BSON sangat serupa dengan JSON, tetapi ia tidak boleh dibaca manusia dan menggunakan data binari. Akibatnya, ia sangat baik untuk menyimpan dan memindahkan imej dan lampiran lain. Selain itu, BSON menyokong beberapa jenis data yang tidak tersedia dalam JSON. Sebagai contoh, fail BSON boleh memasukkan tarikh (dalam format milisaat) atau bahkan sekeping kod JavaScript. Pangkalan data MongoDB NoSQL yang popular menyimpan maklumat dalam format BSON.Protokol berasaskan kedudukan
Dalam sesetengah situasi, kita perlu mengurangkan jumlah data yang dihantar secara drastik (contohnya, jika kita mempunyai banyak data dan perlu mengurangkan beban). Dalam keadaan ini, kita boleh menggunakan protokol berasaskan kedudukan, iaitu menghantar nilai parameter tanpa nama parameter itu sendiri.
"Leo Tolstoy" | "Anna Karenina" | 1873
Data dalam format ini mengambil beberapa kali kurang ruang daripada fail JSON penuh. Sudah tentu, terdapat format bersiri lain, tetapi anda tidak perlu mengetahui semuanya sekarang :) Alangkah baiknya jika anda sudah biasa dengan format standard industri semasa semasa membangunkan aplikasi, dan ingat kelebihannya serta cara ia berbeza daripada satu. yang lain. Dan dengan ini, pelajaran kami berakhir :) Jangan lupa untuk menyelesaikan beberapa tugas hari ini! Sehingga kali seterusnya! :)
GO TO FULL VERSION