views:

63

answers:

2

Probably, a simple question, which I can't seem to find a solid answer to.

Why would one choose JSON2 over jquery-json plugin ( http://code.google.com/p/jquery-json/)? Given that a web application is using jQuery to begin with.

Everyone's writing about how great it is that JSON2 falls back on the native implementation... Well, so does jquery-json. I welcome links to blogs, articles and examples. However, I'm looking for a strong solid answer on which one is better to use and why.

Thanks!

+2  A: 

I would say your answer depends on which api you want to use since you'll get the same results with either implementation (you should at least).

As a thought experiment, let's imagine that every browser had a native JSON api implementation. Would you still use jquery-json?

If so, then use the jquery plug-in.

If not, then why would you tie your code to the jquery-json api when the native api is already well-known (even if its not globally implemented)?

If it means anything to you, John Resig (the creator of jQuery) has said "In the meantime PLEASE start migrating your JSON-using applications over to Crockford's json2.js"

Ken Browning
Good thought. If all browsers had native JSON api, I would NOT use any plugin. Let me take a look at that link to John's blog.
Dimskiy
A: 

Most modern browsers have native JSON build in, jQuery defaults to those functions when using e.g. $.getJSON() or $.parseJSON().

So if you are using jQuery, you don't need any plugin/library for JSON.

saibotd
Most of the time, I use $.ajax() function, so I need to serialize/deserialize somewhat manually.
Dimskiy
You shouldn't need to deserialize your data if you set the dataType property of the configuration object you pass into `$.ajax()`
Ken Browning
@Ken Browning - I was getting my data from an asmx service. So it was prefixed with Microsoft's 'd'. I had to do something like $.evalJSON(resultData.d) with jquery-json plugin. That was sometime back, though. I'm currently trying to evaluate some UI related questions/issues for an upcoming project. Thanks for the suggestion.
Dimskiy