Saya yakin banyak pengembang yang akrab dengan XML dan JSON , dan mereka telah menggunakan keduanya. Jadi tidak ada gunanya menjelaskan apa mereka, dan apa tujuan mereka, bahkan secara singkat.
Jika kita mencoba memetakan konsep mereka, kita dapat mengatakan (koreksi saya jika saya salah):
- Tag XML setara dengan JSON
{}
- Atribut XML setara dengan properti JSON
- Koleksi tag XML setara dengan JSON
[]
Satu-satunya hal yang dapat saya pikirkan, yang tidak ada di JSON, adalah XML Namespace .
Pertanyaannya adalah, mengingat pemetaan ini, dan mempertimbangkan bahwa JSON sangat ringan dalam pemetaan ini, dapatkah kita melihat dunia di masa depan (atau setidaknya secara teoritis memikirkan sebuah dunia) tanpa XML, tetapi dengan JSON melakukan semua yang dilakukan XML? Bisakah kita menggunakan JSON di mana saja XML digunakan?
PS: Harap dicatat bahwa saya sudah melihat pertanyaan ini . Ini sesuatu yang sama sekali berbeda dari apa yang saya tanyakan di sini. Jadi tolong jangan menyebutkan duplikat .
Jawaban:
Hal yang memberi XML kekuatannya dan banyak kerumitannya adalah konten campuran. Hal-hal seperti ini:
Jangan pernah mencoba melakukannya di JSON, atau memanipulasinya dalam bahasa pemrograman konvensional. Mereka tidak dirancang untuk pekerjaan itu.
Pertanyaan semacam ini biasanya datang dari orang-orang yang lupa bahwa M dalam XML adalah singkatan dari markup. Ini adalah cara mengambil teks biasa dan menambahkan markup untuk membuat teks terstruktur. Ini cukup berguna untuk data kuno juga, tapi bukan itu yang dirancang untuk atau di mana kekuatan utamanya berada. Ada banyak cara untuk menangani data sederhana, dan JSON adalah salah satunya.
sumber
A
elemen B, dan `mess we in!`. Ini adalah array, yang bisa Anda jelaskan di JSON.Perbedaan utama, saya pikir, adalah pada kenyataan bahwa XML dirancang untuk menjelaskan sendiri dengan dtd dan segalanya.
Dengan JSON, Anda harus mengasumsikan banyak tentang data yang Anda terima.
sumber
Terjemahan literal ke JSON sering kurang ringkas dan kurang jelas. Mempertimbangkan:
Representasi JSON paling efektif yang pernah saya lihat tentang ini:
Sekarang, bayangkan itu untuk seluruh file XML. Saya tidak mengatakan bahwa JSON tidak memiliki tempatnya, tetapi XML tidak boleh dikesampingkan.
sumber
(foo (x:bar (@ (x:prop1 "g")) (quuz)))
JSON dan XML adalah keduanya cara memformat data. Keduanya mampu melakukannya dengan sangat baik, jadi bisakah JSON melakukan semua yang dilakukan XML? Iya.
Tapi ..... Pertanyaan yang lebih relevan mungkin bukan apa yang dapat dilakukan XML / JSON, melainkan apa yang dapat Anda lakukan dengan XML / JSON.
Ada beberapa hal yang dapat Anda lakukan dengan XML yang saya pikir Anda tidak bisa dengan JSON, seperti menerjemahkan dengan XLST, mencari dengan XPath dan memvalidasi dengan skema. Semua sangat, sangat bermanfaat.
sumber
Ada banyak fungsi menggunakan XSLT yang mungkin tidak dapat dilakukan dengan JSON. Jadi, jika mereka tidak setara secara fungsional mereka tidak dapat saling menggantikan.
sumber
Faktanya adalah, kita harus hidup dengan keduanya untuk waktu yang lama, dan menjadi fanatik JSON "dianggap berbahaya."
sumber
JSON cukup baru dan sistem lama tidak akan mendukungnya. Memutakhirkan sistem warisan adalah ekspesif dan memperkenalkan bug. JSON tidak akan mengganti XML kapan saja dalam waktu dekat.
sumber
Saya akan mengatakan bahwa cwallenpoole membuat poin yang bagus. Sementara sebagian besar XML dapat diterjemahkan ke JSON, apakah melakukan itu lebih baik karena itu adalah poin yang terpisah.
JSON cocok untuk struktur data setidaknya serta XML dan mungkin lebih baik, tetapi XML membaca jauh lebih alami daripada JSON ketika menandai dokumen tekstual, di mana tag digunakan dalam aliran teks yang lebih besar daripada hanya sebagai cara untuk membatasi hierarki bidang.
Meskipun HTML 5 mungkin memiliki parsernya sendiri, itu masih meninggalkan aplikasi seperti DocBook.
sumber
Itu tergantung pada domain. Dalam hal layanan web? Benar. Sangat memalukan bahwa vendor masih mendorong sabun pada pelanggan mereka. ISTIRAHAT + JSON sepanjang jalan.
Sekarang, ketika Anda berbicara tentang data yang kompleks dan terstruktur dengan informasi gaya seperti Docbook atau implementasi lainnya? Itu domain yang tepat untuk XML.
sumber
Mengapa membatasi diri ke JSON ketika YAML adalah super set dan jauh lebih ekspresif dan karena itu kuat daripada XML atau JSON.
Yang mengatakan, jika Anda menggunakan kerangka kerja serialisasi yang benar Anda harus dapat membuat serial dan de-serialisasi semua format yang disebutkan di atas dengan beberapa baris kode sederhana.
sumber
Itu menjadi jelek ketika Anda mencoba memodelkan dua objek ini di JSON:
Menggunakan JSON seperti yang biasa digunakan dalam 99% kasus, seseorang akan tersesat dengan:
Dan sekarang Anda harus menambahkan beberapa struktur meta dan semua keindahan JSON hilang sementara Anda tertinggal dengan kerugian.
sumber
{ customer: { name: 'John Doe' }, employee : { name: 'John Doe' } }
. Jadi secara teknis, jawaban Anda tidak benar. :)<customer><name>John Doe</name></customer><customer><name>John Doe</name></customer>
dalam JSON?Saya tidak tahu apakah ada fasilitas seperti itu untuk JSON, tetapi dalam. NET setidaknya Anda dapat memvalidasi XML terhadap skema yang diberikan. Itu keuntungan yang berharga dari XML di mata saya.
sumber