简体   繁体   English

如何访问具有以下格式的json响应

[英]How to access json response that have the following format

I get a response like this: 我得到这样的答复:

{
    "data": [
        "http:\/\/www.domain.com.br\/anunciantes\/jorgediaz.y.com.r\/26\/img1.jpg",
        "http:\/\/www.domain.com.br\/anunciantes\/jorgediaz.t.com.r\/26\/img2.jpg"
    ]
}

I have tried: 我努力了:

$.ajax({
        url: "/imovel/recuperar_fotos",
         datatype: 'JSON',
         contentType: 'JSON',
        success: function (data) {
                  var i = 0;
               while(i < 3)
               {
                   alert(data[i]);
                   i++;
            }

        }
    }); 

and also data[0][i] doesn't work. 而且data [0] [i]也无效。

Try this 尝试这个

$.ajax({
    url: "/imovel/recuperar_fotos",
    contentType: 'application/json',
    success: function(res) {
        for (i = 0; i < res.data.length; i++) {
            alert(res.data[i]);
        }
    }
});

It is because you are receiving an object that has a data property that is an array . 这是因为您收到的对象数据属性是数组 Therefore you could iterate over response.data (or data.data, following your code naming). 因此,您可以遍历response.data(或遵循代码命名的data.data)。

Here you have 3 ways to iterate over an array (and avoid the while loop) 在这里,您有3种方式遍历数组(并避免了while循环)

Using array's forEach method 使用数组的forEach方法

$.ajax({
  url: "/imovel/recuperar_fotos",
  datatype: 'JSON',
  contentType: 'JSON',
  success: function (response) {
    var photos = response.data;
    photos.forEach(function(photo) {
      console.log(photo);
    })
  }
});

Using the for ... in 在...中使用

$.ajax({
  url: "/imovel/recuperar_fotos",
  datatype: 'JSON',
  contentType: 'JSON',
  success: function (response) {
    var photos = response.data;
    for (var i in photos) {
      console.log(photos[i]);
    }
  }
});

Using the classig for loop 使用classig进行循环

$.ajax({
  url: "/imovel/recuperar_fotos",
  datatype: 'JSON',
  contentType: 'JSON',
  success: function (response) {
    var photos = response.data;
    for (var i = 0; i < photos.length; i++) {
      console.log(photos[i]);
    }
  }
});

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

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