使用Jquery从JSON格式中提取数据

时间:2012-05-04 06:03:24

标签: jquery json

我有这样的网址,这是一个像这个链接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内容

4 个答案:

答案 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)

jQuery.parseJSON

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

您也可以使用jQuery.getJSON/