繁体   English   中英

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

[英]Pull Data from JSON format using Jquery

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

这是我如何做的,例如在ajax请求中。

$.get('http://www.mysite.com/json.js', function(result) {
   var json = $.parseJSON(result);
   alert(json.title); //Do whatever you want here
});

确保您的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可以支持回调并适用于跨域。

希望能帮助到你

把它放在一个变量中,

myJSON = $.parseJSON(YOUR_JSON);

然后,

myJSON.items[0].url

jQuery.parseJSON

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

你也可以使用jQuery.getJSON /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM