Bu soru 6 yaşında, ama garip bir şekilde, cevapların hiçbiri gerçekten dört noktayı (hız, bellek, ifade, taşınabilirlik) ele almıyor.
hız
Açıkçası bu uygulamaya bağlıdır, ancak JSON çok yaygın olarak kullanıldığı ve uygulanması çok kolay olduğu için daha fazla yerel destek ve dolayısıyla hız alma eğilimindedir. YAML'nin JSON'un yaptığı her şeyi ve bir kamyon yükünü daha fazla yaptığı göz önüne alındığında, muhtemelen her ikisinin karşılaştırılabilir uygulamalarından biri olan JSON'un daha hızlı olacağı düşünülmektedir.
Ancak, YAML dosyasının JSON emsaline göre (nedeniyle daha az biraz daha küçük olabilir verilen "
ve ,
karakterler), bu kadar mümkün oldukça optimize YAML ayrıştırıcı istisnai durumlarda daha çabuk olabileceğini.
Hafıza
Temel olarak aynı argüman geçerlidir. Aynı veri yapısını temsil ediyorlarsa, bir YAML ayrıştırıcısının neden bir JSON ayrıştırıcısından daha fazla bellek verimli olacağını görmek zor.
Etkileyicilik
Diğerleri tarafından belirtildiği gibi, Python programcıları YAML, JavaScript programcılarını JSON'a tercih etme eğilimindedir. Bu gözlemleri yapacağım:
- JSON'un tüm sözdizimini ezberlemek kolaydır ve bu nedenle herhangi bir JSON dosyasının anlamını anlama konusunda çok emin olun. YAML hiçbir insan tarafından gerçekten anlaşılamaz. İnceliklerin ve uç vakaların sayısı aşırıdır.
- Spesifikasyonu az sayıda çözümleyici uyguladığından, belirli bir bağlamda belirli bir ifadenin anlamından emin olmak daha da zordur.
- JSON'da yorum eksikliği, pratikte gerçek bir acıdır.
taşınabilirlik
JSON kütüphanesi olmadan modern bir dil hayal etmek zor. Tam özellikten daha az bir şey uygulayan bir JSON ayrıştırıcısını hayal etmek de zordur. YAML yaygın bir desteğe sahiptir, ancak JSON'dan daha az yaygındır ve her ayrıştırıcı farklı bir alt küme uygular. Bu nedenle YAML dosyaları düşündüğünüzden daha az birlikte çalışabilir.
özet
JSON performans (ilgili ise) ve birlikte çalışabilirlik kazanır. YAML, insan tarafından tutulan dosyalar için daha iyidir. HJSON , çok daha az taşınabilirliğe rağmen iyi bir uzlaşmadır. JSON5 , iyi tanımlanmış bir sözdizimi ile daha makul bir uzlaşmadır.