- docx (format Microsoft Word);
- pdf (format Adobe);
- mobi (biasa digunakan di perangkat Amazon Kindle);
- dan masih banyak lagi (ePub, djvu, fb2...).
JSON
Notasi Objek JavaScript. Anda sudah sedikit mengenalnya! Kita membicarakannya di kuliah ini , dan kita melihat serialisasi di JSON di sini . Itu mendapat namanya karena suatu alasan. Objek Java yang dikonversi ke JSON sebenarnya terlihat persis seperti objek JavaScript. Anda tidak perlu mengetahui JavaScript untuk memahami arti objek kami:{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
}
Tidak perlu melewatkan satu objek pun. JSON juga bisa berisi array objek:
[
{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
},
{
"title": "Бесы",
"author": "Федор Достоевский",
"year": 1872
},
{
"title": "Чайка",
"author": "Антон Чехов",
"year": 1896
}
]
Karena JSON adalah objek JavaScript, JSON mendukung format data JavaScript berikut:
- string;
- angka (angka);
- benda (objek);
- array (array);
- nilai boolean (benar dan salah);
- batal.
-
Format yang dapat dibaca manusia. Ini jelas merupakan keuntungan jika pengguna akhir Anda adalah manusia. Misalnya, server Anda menyimpan database dengan jadwal penerbangan. Klien manusia meminta data dari database ini menggunakan aplikasi web sambil duduk di rumah di depan komputer. Karena Anda perlu menyediakan data dalam format yang dapat dia pahami, JSON adalah solusi yang bagus.
-
Kesederhanaan. Bisa dibilang dasar :) Di atas kami memberikan contoh dua file JSON. Dan bahkan jika Anda belum pernah mendengar tentang keberadaan JavaScript (apalagi objek-objeknya), Anda dapat dengan mudah memahami jenis objek apa yang dijelaskan di sana.
Seluruh dokumentasi JSON adalah satu halaman web dengan beberapa gambar. -
Tersebar luas. JavaScript adalah bahasa front-end yang dominan dan menentukan persyaratannya. Menggunakan JSON adalah suatu keharusan. Oleh karena itu, sejumlah besar layanan web menggunakan JSON sebagai format untuk bertukar data. Setiap IDE modern mendukung format JSON (termasuk Intellij IDEA). Banyak perpustakaan telah ditulis untuk bekerja dengan JSON untuk semua bahasa pemrograman yang memungkinkan.
YAML
Pada awal keberadaannya, ini adalah singkatan dari Yet Another Markup Language - “bahasa markup lain.” Pada saat itu diposisikan sebagai pesaing XML. Sekarang, seiring berjalannya waktu, itu adalah singkatan dari “YAML Ain't Markup Language” (“YAML bukan bahasa markup”). Seperti apa dia? Bayangkan kita perlu membuat 3 kelas karakter untuk permainan komputer kita: Warrior, Mage dan Thief. Mereka akan memiliki ciri-ciri sebagai berikut: kekuatan, kelincahan, daya tahan, dan seperangkat senjata. Seperti inilah tampilan file YAML kami dengan deskripsi 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
File YAML memiliki struktur pohon: beberapa elemen bersarang di dalam elemen lainnya. Kita dapat mengontrol penumpukan dengan menggunakan sejumlah spasi untuk menunjukkan setiap level. Apa kelebihan format YAML?
-
Dapat dibaca manusia. Sekali lagi, meskipun Anda melihat file yaml tanpa deskripsi, Anda dapat dengan mudah memahami objek apa yang dijelaskan di sana. YAML adalah seberapa baik keterbacaan manusia sehingga halaman utama yaml.org adalah file yaml biasa :)
-
Kekompakan. Struktur file dibentuk dengan spasi: tidak perlu menggunakan tanda kurung atau tanda kutip.
-
Dukungan untuk struktur data asli bahasa pemrograman. Keuntungan besar YAML dibandingkan JSON dan banyak format lainnya adalah ia mendukung struktur data yang berbeda. Diantara mereka:
-
!!map
Kumpulan pasangan kunci:nilai yang tidak berurutan tanpa kemungkinan duplikat; -
!!omap
Urutan pasangan kunci:nilai yang berurutan tanpa kemungkinan duplikat; -
!!pairs:
Urutan pasangan kunci:nilai dengan kemungkinan duplikat; - !!set
Urutan nilai tidak berurutan yang tidak sama satu sama lain; - !!seq
Urutan nilai arbitrer;
Beberapa struktur berikut mungkin sudah tidak asing lagi bagi Anda dari Jawa! :) Berkat fitur ini, Anda dapat membuat serial berbagai struktur data dari bahasa pemrograman ke dalam format YAML.
-
-
Kemampuan untuk menggunakan jangkar dan alias
Terjemahan dari kata "anchor" dan "alias" - "anchor" dan "pseudonym". Pada prinsipnya, ini menjelaskan esensi istilah-istilah ini di YAML dengan cukup akurat.
Mereka memungkinkan Anda mengidentifikasi elemen dalam file yaml, dan merujuknya ke seluruh file jika elemen tersebut muncul berulang kali. Jangkar dibuat menggunakan simbol
&
dan alias dibuat menggunakan*
.Katakanlah kita memiliki file dengan deskripsi buku Leo Tolstoy. Untuk menghindari penulisan nama penulis secara manual setiap saat, kita cukup membuat jangkar "leo" dan merujuknya menggunakan alias saat kita membutuhkannya:
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
Saat kita membaca file ini dengan parser tertentu, nilai "Leo Tolstoy" akan diganti di tempat yang tepat menggantikan alias kita.
- Anda dapat menyematkan data dalam format lain di YAML. Misalnya, 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 serialisasi lainnya
XML
Format ini didasarkan pada apa yang disebut pohon tag.<book>
<title>Harry Potter and the Philosopher’s Stone</title>
<author>J. K. Rowling</author>
<year>1997</year>
</book>
Setiap elemen terdiri dari tag pembuka dan penutup (<> dan </>). Setiap elemen dapat memiliki elemen bersarang. XML adalah format umum yang tidak kalah dengan JSON dan YAML (jika kita berbicara tentang penggunaan dalam proyek nyata). Kami memiliki kuliah terpisah tentang XML .
BSON (biner JSON)
Seperti namanya, ini sangat mirip dengan JSON, tetapi tidak dapat dibaca manusia dan beroperasi pada data dalam format biner. Hal ini membuatnya sangat nyaman untuk menyimpan dan mentransfer gambar dan lampiran lainnya. Selain itu, BSON mendukung beberapa tipe data yang tidak tersedia di JSON. Misalnya, Anda dapat menulis tanggal (dalam format milidetik) atau bahkan sepotong kode JavaScript ke dalam file BSON. Basis data NoSQL yang populer, MongoDB, menyimpan informasi dalam format BSON.Protokol berdasarkan posisi
Dalam beberapa situasi, kita perlu mengurangi jumlah data yang ditransfer secara drastis (misalnya, jika ada banyak data dan kita perlu mengurangi bebannya). Dalam situasi ini, kita dapat menggunakan protokol berbasis posisi , yaitu meneruskan nilai parameter tanpa nama parameter itu sendiri."Leo Tolstoy" | "Anna Karenina" | 1873
Data dalam format ini memakan lebih sedikit ruang dibandingkan file JSON lengkap. Tentu saja, ada format serialisasi lainnya, tetapi Anda tidak perlu mengetahui semuanya sekarang :) Ada baiknya Anda memahami format yang sekarang menjadi standar industri untuk pengembangan aplikasi, dan mengingat kelebihan dan perbedaannya satu sama lain. . Dan kuliah kita telah berakhir :) Jangan lupa selesaikan beberapa soal hari ini! Sampai jumpa lagi! :)
GO TO FULL VERSION