我一直在寻找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
答案 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。