尝试使用$ .each访问JSON中的两个数组

时间:2016-10-13 20:00:42

标签: jquery json

我很难访问数组中的两个值。我不确定我做错了什么。基本上我只想输出两个图像并在页面上显示它们。希望有人可以帮助我。以下是我的代码:

(function() {
	
	'use strict';

   	 var url = 'path to json';
    
     $.getJSON(url, function(json) {
        
         //store json data into variable 
	     var data = (json);
	
		 //store data in empty string
		 var images = '';
	
		 //retrieve values from json file
		 $.each(data, function (i, item) {
			 images += '<img src="' + item[i].imageURL + '">';
	     });
		
		 //append results to div
	
		 $('#images').html(images);
		
     });
	 
 })();

3 个答案:

答案 0 :(得分:0)

你可以这样做。你很想通过我访问内容 请检查以下代码段

&#13;
&#13;
var img=[
   [
       {
           "imageURL":"path to image",
       }
   ],
   [
       {
           "category":"path to image",  
       }
   ]
];
$.each(img, function (i, item) {
  alert(item[i].imageURL)
var images = '<img src="' + item[i].imageURL + '">';
    })
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我认为你的json结构不好,但是......

    var ri = [
   [
       {
           "imageURL":"path to image",
       }
   ],
   [
       {
           "category":"path to image",  
       }
   ]
];
$(ri).each(function(i, n){
  if('imageURL' in n[i]){
    console.log(n[i]['imageURL']);
  }
});

答案 2 :(得分:0)

由于有两个可能包含图像路径的字段,请选择正确的字段。此外,使用item[0],因为嵌套数组具有length=1

(function() {
  'use strict';

  var url = 'path to json';

  $.getJSON(url, function(json) {

    //store json data into variable 
    var data = (json);

    //store data in empty string
    var images = '';

    //retrieve values from json file
    $.each(data, function(i, item) {
      images += '<img src="' + (item[0].imageURL || item[0].category) + '">';
    });

    //append results to div

    $('#images').html(images);
  });
})();