<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx</link><description>After seeing Douglas Crockford's talk on JSON at XML 2006 recently, I figured that some sort of great debate between XML and JSON advocates was brewing. I had been waiting for Elliotte Harold's rebuttal of what Crockford is missing, but haven't seen it</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1341823</link><pubDate>Thu, 21 Dec 2006 22:14:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1341823</guid><dc:creator>Soumitra</dc:creator><description>&lt;p&gt;Good to hear your level headed assessment of this issue. &amp;nbsp;I have a few observations:&lt;/p&gt;
&lt;p&gt;a. Aside from AJAX apps and API's that support these apps, where else is JSON being used?&lt;/p&gt;
&lt;p&gt;b. Interop is a whole lot more than just serializing data structures. &amp;nbsp;For example, I for have not found an easy way to serialize graphs using JSON. &amp;nbsp;The serialization format is the least of our problems.&lt;/p&gt;
&lt;p&gt;c. Cross domain scripting has nothing to do with XML or JSON. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;d. Any standard that has no path to support change will die.&lt;/p&gt;
&lt;p&gt;Having said all these, one reason I love JSON is that it will get all us XML geeks riled up and thinking about how we can simplify XML. &amp;nbsp;And that will be a good thing.&lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1341966</link><pubDate>Thu, 21 Dec 2006 22:49:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1341966</guid><dc:creator>mikechampion</dc:creator><description>&lt;p&gt;&amp;quot; one reason I love JSON is that it will get all us XML geeks riled up and thinking about how we can simplify XML&amp;quot; &amp;nbsp;Yes!&lt;/p&gt;
&lt;p&gt;I think that cross domain scripting is easier with JSON because browsers will let code within a &amp;lt;script&amp;gt; tag pull from multiple domains, but XmlHttpRequest will not. &amp;nbsp;I only know what I read in comment threads, I don't have first hand experience.&lt;/p&gt;
</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1352145</link><pubDate>Sat, 23 Dec 2006 18:12:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1352145</guid><dc:creator>Dave</dc:creator><description>&lt;p&gt;The ability to cross domains using &amp;lt;script&amp;gt; with JSON is very handy. Also, since most uses of JSON are with Javascript, it's an easy-to-understand format. &lt;/p&gt;
&lt;p&gt;As for serializing graphs, don't! You serialize the data, and then the client can choose how to use that data once deserialized. What would it mean to serialize graphs, anyway? Do you mean somehow serialize the presentation details and send it over the wire? &lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1353988</link><pubDate>Sun, 24 Dec 2006 00:29:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1353988</guid><dc:creator>Jeremy Bowers</dc:creator><description>&lt;p&gt;Serializing graphs is one specific reason that I take the position that you really ought to stick to looking at JSON as &amp;quot;a technology to output something that can be 'eval'ed in a browser really quickly and efficiently&amp;quot;. If you do that, then you can actually ship down psuedo-JSON that looks something like&lt;/p&gt;
&lt;p&gt;{nodes: [{node1: {children: []}}, {node2: {children: [node('node1'), node('node13')]}]}&lt;/p&gt;
&lt;p&gt;(Forgive me if I got the delimiters wrong.) Then, if you have a 'node' function in the namespace you run the 'eval' in, that function can provide services to tie the graph together at the end, without a separate post-processing phase. (In this case that may not be such an advantage but there can be some cases where it is.)&lt;/p&gt;
&lt;p&gt;And I don't guarantee that there is *still* a 100x speed advantage over XML, just that there was in Mozilla in the summer of 2005 (IIRC). But I would expect there to still be some difference as creating Javascript objects is much easier than creating DOM nodes, so even with fully optimized versions of both parsers it would make sense that eval(JSONstring) would be faster.&lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1354642</link><pubDate>Sun, 24 Dec 2006 03:44:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1354642</guid><dc:creator>h3</dc:creator><description>&lt;p&gt;This is a question that I had to ask myself at some point. At the begining I liked XML, but after trying JSON &amp;nbsp;it's hard to tell yourself that there's nothing wrong with XML's over complexity.&lt;/p&gt;
&lt;p&gt;I still have not chose one over the other, I just use my intuition to decide which onoe would do the better job in current context. But to be honest, I tend to choose JSON more often for it's simplicity. Why ? Because most of the tasks I need to do are simple, but for a configuration file I happily use XML :)&lt;/p&gt;
&lt;p&gt;The bottom line is use the right tool for the right job.&lt;/p&gt;
&lt;p&gt;And for the hardcore XML lovers who'd like to simplify it, you are not the firt. YAML is a nice alternative, the symfony PHP framework use it.&lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1363722</link><pubDate>Tue, 26 Dec 2006 05:30:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1363722</guid><dc:creator>fishbane</dc:creator><description>&lt;p&gt;I find it hard to believe that someone would locate difficulty in marshalling a graph in the JSON-ish fashion. It is just a hash of (possibly) more complex datatypes. &lt;/p&gt;
&lt;p&gt;I don't even care for these sorts of wars. (XML, I deal with, whatever. Sometimes the notation is handy, usually it is a pain. &amp;nbsp;JSON, whatever. One link in the chain is &amp;quot;solved&amp;quot;. Good job, here's a cookie. Go trade it into a career with ISO over at that desk.) I mean, other than Winer and corporate product managers, who cares about this sort of crap? &lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1365482</link><pubDate>Tue, 26 Dec 2006 20:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1365482</guid><dc:creator>mikechampion</dc:creator><description>&lt;p&gt;I'm not sure if I count as &amp;quot;corporate product manager&amp;quot;, but I care because we need to figure out where to invest our resources to make data programmability better/faster/easier. If JSON is going to be used in a lot of the ways XML is used today, we should probably be doing more. &amp;nbsp;If, on the other hand,it's clear that JSON has intrinsic limits that most people who try this will stumble over, maybe we should discourage its use outside the AJAX realm. &lt;/p&gt;
</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1370710</link><pubDate>Wed, 27 Dec 2006 23:54:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1370710</guid><dc:creator>rogerv</dc:creator><description>&lt;p&gt;Hey Michael, ran across this link where this debate is being reported:&lt;/p&gt;
&lt;p&gt;Debate: JSON vs. XML as a data interchange format&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.infoq.com/news/2006/12/json-vs-xml-debate"&gt;http://www.infoq.com/news/2006/12/json-vs-xml-debate&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;They site this comment attributed to you:&lt;/p&gt;
&lt;p&gt;&amp;lt;quote&amp;gt;&lt;/p&gt;
&lt;p&gt;Mike also commented his own opinion that he sees JSON as a good solution for browser-server communication, &amp;quot;but not a serious contender for interoperability purposes&lt;/p&gt;
&lt;p&gt;&amp;lt;/quote&amp;gt;&lt;/p&gt;
&lt;p&gt;Hmm, I tend to agree with this.&lt;/p&gt;
&lt;p&gt;The Google GWT AJAX-toolset is an excellent example of where its use of JSON for the GWT async RPC (built on top of XmlHttpRequest) is very well suited. It's rather straight forward to serialize JSON as Java objects on the server-side and as JavaScript objects on the client-browser side.&lt;/p&gt;
&lt;p&gt;However, am not tempted to switch over from XML to JSON for the messaging format in my behind-the-firewall enterprise distributed applications. What I like about XML in that regard is that can be even more loosely coupled by avoiding direct object serialization altogether and instead using a technique that I refer to as &amp;quot;XML data duck typing&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.javalobby.org/java/forums/t78239.html%2392053977"&gt;http://www.javalobby.org/java/forums/t78239.html%2392053977&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Such is more facile to evolve a distributed application when coupling between nodes is not overly rigid. Object serialization too tightly couples and causes a distributed app to be too brittle.&lt;/p&gt;
&lt;p&gt;Yeah, didn't take long to learn that the ease of evolving distributed app software far out-weighs any so-called convenience factor derived from object serialization.&lt;/p&gt;</description></item><item><title>correct link to "XML data duck typing"</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1371114</link><pubDate>Thu, 28 Dec 2006 03:56:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1371114</guid><dc:creator>rogerv</dc:creator><description>&lt;p&gt;XML data duck typing&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.javalobby.org/java/forums/t78239.html#92053977"&gt;http://www.javalobby.org/java/forums/t78239.html#92053977&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1472673</link><pubDate>Mon, 15 Jan 2007 23:06:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1472673</guid><dc:creator>Matt Stark</dc:creator><description>&lt;p&gt;This post is limited to developing RIA's ... I am an application developer, and an architect, and a technical lead. &amp;nbsp;Have many of you ever explained to a Jr. Javascript developer how to use Http requests and parse XML inside different browsers? &amp;nbsp;Have you tried to explain the &amp;lt;script&amp;gt; tag? &amp;nbsp;Which causes more confusion?&lt;/p&gt;
&lt;p&gt;Points:&lt;/p&gt;
&lt;p&gt;1) You do not require a JSON parser, nor do you need the eval statement to &amp;quot;process&amp;quot; JSON ... this is done for secuirty, the same flaws that would be prevail in JSON could surely prevail in XML depending on your 100% manditory parser requirement in the XML space.&lt;/p&gt;
&lt;p&gt;2) Serialization is done at the data level, data is then serialized into interface UI's. &amp;nbsp;Hence these graph serialization issues are mentioned here have no validity. &amp;nbsp;You continue to have to &amp;quot;deserialize&amp;quot; XML into JavaScript data structures or JSON Objects. &amp;nbsp;With JSON you eliminate this pointless and mutually redundant processing of your requests.&lt;/p&gt;
&lt;p&gt;3) The purpose of JSON is the same as developing .Net Generics &amp;amp; as Yukon spits out custom .Net types. &amp;nbsp;It talks to and how you load, manipulate and work with data in your Web Client Application layer. &amp;nbsp;All we are asking for is that it spits out a pre-serialized JavaScript object rather than a huge XML file. &amp;nbsp;This makes sense.&lt;/p&gt;
&lt;p&gt;4) JSON isn't a replacement for XML and infact I'm sure most all programmers would rather work with Widget API's (EX// JavaScript API's) than understand service contracts and complexities which are inherit in working with Web Services. &amp;nbsp;JavaScript is a simple 'standardized' do what you want language. Please don't standardize our data structures as it's this flexibility that allowed us to come up with this approach in the first place.&lt;/p&gt;
&lt;p&gt;5) JSON is not a replacement for Service based stand alone applications - nor for situations where a web application consumes back end business systems VIA web services. &amp;nbsp;I'd actually prefer that to be XML as there are ton's of tools avail for that approach already.&lt;/p&gt;
&lt;p&gt;There are a lot of people here who are totally confusing this stuff as a replacement for XML. &amp;nbsp;It isn't that, it's just another option for the Web Based RIA transport layer ...&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;</description></item><item><title>XML and JSON - To debate, or not to debate?</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1509936</link><pubDate>Tue, 23 Jan 2007 01:16:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1509936</guid><dc:creator>Persistently Different</dc:creator><description /></item><item><title>XML and JSON - To debate, or not to debate?</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#1515306</link><pubDate>Tue, 23 Jan 2007 19:13:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1515306</guid><dc:creator>Persistently Different</dc:creator><description /></item><item><title>JSON as I see it</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#2072832</link><pubDate>Tue, 10 Apr 2007 16:20:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2072832</guid><dc:creator>Mike's Blog of Some Things IS Integration</dc:creator><description>&lt;p&gt;I missed lecture on JSON last week, so I'm trying to teach myself the basics. From the book, and from a blog I was reading, it looks like JSON does the same thing as XML using the Javascript language. If...&lt;/p&gt;
</description></item><item><title>mikechampion's weblog : The JSON vs XML debate begins in earnest</title><link>http://blogs.msdn.com/mikechampion/archive/2006/12/21/the-json-vs-xml-debate-begins-in-earnest.aspx#8580824</link><pubDate>Sun, 08 Jun 2008 17:15:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8580824</guid><dc:creator>Relationship Compatibility</dc:creator><description>&lt;p&gt;After seeing Douglas Crockford's talk on JSON at XML 2006 recently, I figured that some sort of great debate between XML and JSON advocates was brewing. I had been waiting for Elliotte Harold's rebuttal of what Crockford is missing, but haven't seen i&lt;/p&gt;
</description></item></channel></rss>