使用$ .getJSON读取JSON

时间:2013-01-02 17:19:55

标签: jquery json adobe-edge

对于大学作业,我必须将JSON数据读入Adobe Edge项目。在下面的JSON中,您将看到我制作了一系列颜色。函数setElementsColor(color)必须在json文件的Colors数组中查找正确的对象。因此,参数color必须等于对象的colorName。我不太清楚如何做到这一点。

这是JSON:

{
    "Colors": [
        {
            "colorName": "Black",
            "imageName": "fridge_black.jpg",
            "footerName": "black_footer.png",
            "facebookLogo": "black_facebook.png",
            "twitterLogo": "black_twitter.png",
            "linkedinLogo": "black_linkedin.png"
        },
        {
            "colorName": "Blue",
            "imageName": "fridge_blue.jpg",
            "footerName": "blue_footer.png",
            "facebookLogo": "blue_facebook.png",
            "twitterLogo": "blue_twitter.png",
            "linkedinLogo": "blue_linkedin.png"
        }
    ]
}

以下函数用于读出JSON文件。

function setElementsColor(color){
  $.getJSON('json/colors.json',function(data){
    //The JSON must be read out here
  });
}

1 个答案:

答案 0 :(得分:0)

我会使用$.grep

function setElementsColor(color){
  $.getJSON('json/colors.json',function(data){
    var obj = $.grep(data.Colors, function(color) {
      return color.colorName === color;
    });
    /* Use obj */
  });
}

如果Colors是Object而不是Array,我会更容易。

免责声明:未经测试。