Ne iyi: Json veya XML (PHP) [kapalı]

10 Cevap php

PHP ile birkaç veriyi manipüle ediyorum, JSON ve XML arasında seçim var. Ama ben onlardan biri ile hiç çalışmamış, seçmek için bilmiyorum. Yani kolay bir tane istiyorum.

Kolay (XML veya JSON) ayrıştırma yapabilir iyi sınıfları varsa da ben merak ediyorum.

Ben oldukça hız ve ölçek daha kullanım kolaylığı esas odak.

10 Cevap

json.org JSON ayrıştırma kolaylaştırır. SimpleXML PHP XML kolaylaştırır.

Hangisi seçerken, gerçekten uygulamaya bağlıdır. Eğer istemci tarafında işleme için JavaScript veri aktarımını olacaksa, o zaman ben JSON öneririz. Bu (sizin için daha kolay tercümanlık yapma) çok iyi anlaşılması ve insan okunabilir çünkü IMO, XML sistemleri arasında veri değişimi için daha iyidir. Hiçbir kapanış etiketleri olduğu gibi JSON, telin üzerinden küçük.

I feel the following StackOverflow entries answer your question best:

As for which one is easiest?
jQuery makes serializing your JavaScript objects into JSON objects easy.

Ama, yine de emin değilseniz ...

Here are some other articles:

Düşünün bir şey HTTP üzerinden GZIP sıkıştırma kullanarak çünkü en azından indir, XML ve JSON (XML büyük olmak) arasındaki boyut farkı gerçekten ilginç değil olmasıdır.

Eğer JavaScript ile çalışan ve müşteri başka bir türü (başka bir web sitesi, Flash / Flex istemci, ne olursa olsun) asla emin iseniz o JSON büyük ve belki de biraz daha az ağrısızdır. Hiç XML üzerinde çalışan şeyler almak gerekir gerekir Öte yandan, XML yapıyor şimdi size zaman kazandırır.

Her neyse, yapmak için iyi bir şey Google adamlar Gmail ya da uygulamalar için herhangi LiveHTTPHeaders kullanarak ne yaptığını kontrol etmektir. Ben XML ve JSON olduğunu eminim, ama o beni kontrol edebilirsiniz. Tüm durumlarda, Google ", düşünce değil" olarak kabul edilebilir yok ama genellikle benden daha akıllı olduğunu ve yine düşünmek için çok daha fazla kişi-saat ne yapıyor :)

Duruma göre değişir.

Örnek: Daha sonra (belki webServices ve WSDL) XML kullanmanız gerekir, büyük bir bağlam (EAI) içine uygulama yerleştirmek istiyorum.

Örnek2: Eğer JSON düşünmelisiniz javascript ve ajax dayanan basit bir kullanıcı arayüzü, istiyorum.

Eğer javascript ile çalışırken JSON çok yararlıdır. Çoğu durumda, XML kütüphaneleri kullanım kolaylığı neredeyse aynı olduğunu, kullanımı çok kolaydır.

Haritalar / sözlükler (JSON 'nesneler' olarak adlandırılır), diziler ve değişmezleri: JSON programlama dillerinden bilinen yapılar olarak verilerinizi görür. JSON hiyerarşileri içine bu temel yapıları koyar.

XML de hiyerarşik, ancak üç temel bölümden oluşur:, elementler (başlangıç ​​/ bitiş etiketleri ile) unsurları içinde niteliklerini ve metin içeriği. Elemanları ve metin içeriği karışık olabilir, bu yüzden belgeleri işaretleme için uygundur. JSON için bu çok iyi değil.

XML belgeleri json de bu alanda eksik vb, belgenizi gezinmek için, dönüşüm dil, XPath geçerli olup olmadığını kontrol etmek için çeşitli şemalar: XML hazır araçları sürü etrafında inşa büyük bir ekosistem vardır.

XML olsa çok daha karmaşık JSON fazla. Bu kendi JSON ayrıştırıcı yazmak kolay ve eğlenceli, ancak XML ayrıştırıcı yazıyor huge undertaking (kesinlikle değil XML yeni biri için). Javascript, JSON (bu olsa oldukça güvensiz) metni değerlendirerek çözümlenebilir.

Eğer iki sistem arasında veri aktarmak gerekirse, bu JSON için gayet iyi. XML (kişiler, vb diğer belgeler, şema, örtük nitelik değerlerinin, otomatik dahil) den daha gelişmiş özelliklerini kullanarak ya içerik ve biçimlendirme karıştırmak istiyorsanız, XML sizin için daha iyi çalışacaktır.

Eğer kütüphane kullanımı için XML kullanımını SimpleXML, son derece basit bir seçerseniz

Ya kullanılan ettiyseniz, o JSON için gidin. Orada hem çok yardım olduğunu ve oldukça hızlı bir şekilde almak ve ya çalışan edeceğiz yılında cevaplar kadar doğru. JSON XML daha az şişirilmiş olmanın avantajına sahiptir ve kolayca zaman istemci üzerinde javascript 'tercüme' olabilir

Ben çünkü ne kadar basit PHP ile JSON kullanın:

$arr = array('foo' => 'bar', 'animals' => array('cat', 'dog')); // Create any array.
$json = json_encode($arr); // Converts any array to JSON.

json.org sayfanın altındaki XML makale vs (belki de tek-taraflı) JSON vardır.

İşte one.

Ben genellikle iş benim doğrultusunda veri XML bağlı vb köşeler, kafesleri, gibi şeyler olurdu ince bir biçimi olabilir ki, temsil edeceğini veriler için çok daha uygun, çünkü ben genellikle JSON tercih ederim.

The easiest one to start is XML. The main reason for this is not parsing (for there are very good libs for XML and JSON that do this for you, see other posts), but the understandability:

JSON, farklı parantez çok çalışır XML verilere bakarken muhtemelen hataları daha hızlı göreceksiniz. (Eğer örneğin HTML bilmek varsayarsak)

Bu otomatik olarak kolay veri doğrulama yapar, bir XML schema oluşturmak da mümkündür (ancak isteğe bağlı). Bu daha sonra size çok zaman kaydedebilirsiniz!