|
Thorbjorn asked a good question: what are the benchmarks between XML and
JSON. And those are hard to come by, since people rarely write for
both, and when they do (aka Google), the JSON is usually just a
serialized version of the XML, so you don't get a good comparison.
There are really two measures of performance, I think: message size and
processing cycles. Represent an arbitrary record in JSON is pretty
efficient:
[ "customerid" : 1123454, "name" : "Joe Pluta", "email" :
"junkmail@xxxxxxxxxxxxxxxxx" ]
The XML is not much worse:
<customer customerid = 1123454 name = "Joe Pluta"
email="junkmail@xxxxxxxxxxxxxxxxx" />
This of course assumes that you use attributes rather than children.
Children make XML blow up like a balloon:
<customer>
<customerid>1123454</customerid>
<name>Joe Pluta</name>
<email>junkmail@xxxxxxxxxxxxxxxxx</email>
</customer>
Obviously the second version is efficiency challenged, although you'll
see a lot of it because it's easier to program and easier to create the
WSDL.
Where it gets interesting is when you want to send plain data. I can
send an array of strings like this:
[ "ID01", "ID02", "ID03" ]
That's it. I send that and the application on the other side can
translate it right back to an array of strings. Nothing to it. I'm not
sure what the XML equivalent is.
I've also read that the stricter nature of JSON means that it processes
more quickly. I don't have numbers to back that up, though.
And that's just JSON vs XML. It gets much worse with SOAP. SOAP
messages are hugely overblown, requiring hundreds of extra bytes just to
send a simple message. But there's no silver bullet - neither JSON nor
XML is perfect for everything. SOAP is better in a distributed
environment where clients and servers are widely separate, not nly
geographically but programmatically: if one company wants data from
another company, SOAP is often a better fit, the same way that EDI is a
better fit than a flat file.
On the other hand, if you're writing a multi-tiered application and you
want to speak between tiers, JSON is probably the best representational
language. Of course, hardcoded binary data structures are even faster,
so once again, there's no single answer. But with JSON the messages are
a lot easier to verify.
Joe
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.