有没有使用JavaScript和JQuery序列化JSON的标准方法?

时间:2011-10-10 09:02:53

标签: javascript jquery html json google-api

我一直在寻找Stackoverflow的答案,似乎有不止一种序列化方式(将JSON响应转换回HTML和/或其他代码,以便我们可以用它做一些有用的事情)。

我使用的方式就是这个..

$.getJSON(
    "https://www.googleapis.com/shopping/search/v1/public/products?callback=?",
    {
        key: "unique key code", 
        country: "US", 
        q: "iphone", 
        alt: "json" 
    },
    function(data) 
{

$.each(data.items, function(i, item)
  {
  //Do something with each object
  }

}

所以我使用$ .getJSON方法检索JSON响应,然后循环遍历每个对象并执行某些操作。

这样好吗?我应该使用其他函数来检索JSON响应吗?

此致 LS

2 个答案:

答案 0 :(得分:3)

如果你将dataType设置为json jquery为你解析json

$.ajax({
dataType:"json",
...
success:function(data){
$.each(data.items, function(i, item)
  {
  //Do something with each object
  }   
}

});

答案 1 :(得分:2)

不,你做得很好。 jQuery处理“string”到json数据的转换并返回。

在浏览器中存在转换为JSON和从JSON转换的本机实现,但重要的是要注意旧版浏览器支持这种开箱即用。您应该include the json2.js library以确保JSON支持。

var dataJson={"something":"special"};
var jsonString=JSON.stringify(dataJson);
var dataJsonAgain=JSON.parse(jsonString);

如果没有使用eval,jQuery如何解析JSON,因为eval是邪恶的!看起来有点像这样;

(new Function("return "+dataJson))()

最简单的方法是坚持使用jQuery及其parseJSON函数为您完成polyfill。