我有这样的网址,这是一个像这个链接http://www.mysite.com/json.js的js文件示例 并且该链接将输出json格式的值,如下所示:
{
"note":null,
"attributes":null,
"total_price":9980,
"total_weight":0,
"item_count":4,
"items":[{
"id":214597138,
"title":"Acai +",
"price":2495,
"line_price":9980,
"quantity":4,
"sku":"",
"grams":0,
"vendor":"Delta Labs",
"variant_id":214597138,
"url":"/products/acai",
"image":"http://cdn.shopify.com/s/files/1/0156/4994/products/acai_bottle.png?385",
"handle":"acai",
"requires_shipping":true
}],
"requires_shipping":true}
现在我想抓住那个链接,然后在我的jquery上如何使用json输出的链接来获取标题,网址,价格,sku等值?
我搜索谷歌是否有一些功能可以处理这个,我找到了jQuery.getJSON,但我真的不太了解或者它是否适用于我想要实现的目标?
顺便说一下,http://www.mysite.com/json.js,它的json值是动态的,因此它是我想要抓取的链接,并输出json内容
答案 0 :(得分:2)
以下是我将如何在ajax请求中执行此操作。
$.get('http://www.mysite.com/json.js', function(result) {
var json = $.parseJSON(result);
alert(json.title); //Do whatever you want here
});
答案 1 :(得分:1)
确保您的JSON有效 - > http://www.jsonlint.com
要浏览jSON中的每个条目,请尝试以下操作:
$.getJSON("url/to/json/file",function(data){
$.each(data,function(index,element){
console.log(element.items.url);
});
});
要获得一个条目,请尝试此操作(不使用$ .each):
$.getJSON("url/to/json/file",function(data){
console.log(data.items.url);
});
确保它不是CrossDomain问题!域之间的JSON解析在某些情况下不起作用。确保它不是其中之一。要使用CrossDomain,请使用JSONP。 JSON和JSONP之间的区别在于JSONP可以支持回调并在跨域工作。
希望有所帮助
答案 2 :(得分:0)
将其置于变量中,
myJSON = $.parseJSON(YOUR_JSON);
然后,
myJSON.items[0].url
答案 3 :(得分:0)
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
您也可以使用jQuery.getJSON/