使用JSON获取名称颜色

时间:2014-11-04 18:00:36

标签: jquery json

我正在进行颜色问答比赛。我想从JSON获得随机颜色+这个颜色名称。

我的JSON示例:

{   
    "color":"#72362a",  
    "name":"green",  
    "namePL":["zielony"]},  

},  
{   
    "color":"#7a3543",  
    "name":"yellow",  
    "namePL":["żółty"]},  

}  

]; 

如何从JSON中将身体背景设置为随机并获取使用颜色的名称?

找到随机颜色代码,但我想从JSON获得颜色。

RandomColor = function() {
    colors = ['red', 'white', 'blue', 'green']
    return colors[Math.floor(Math.random()*colors.length)];
}

我应该修改什么才能得到我想要的东西?

我想更改背景颜色并获取此颜色的名称:

$('#colorname').text(name);

2 个答案:

答案 0 :(得分:1)

在随机颜色功能中,您可以用您的JSON数组替换数组['red','white'..]。现在,RandomColor对象将是一个JSON对象,您可以像访问任何JSON对象一样访问颜色和名称值。

RandomColor = function() {
  colors = [{"color":"#72362a","name":"green","namePL":["zielony"]},{"color":"#7a3543", "name":"yellow", "namePL":["żółty"]}];
  return colors[Math.floor(Math.random()*colors.length)];
}

现在您可以使用RandomColor.color和RandomColor.name来获取所需的值。

答案 1 :(得分:1)

尝试这样的事情:

var myJson = [{   
"color":"#72362a",  
"name":"green",  
"namePL":["zielony"]},    
{   
"color":"#7a3543",  
"name":"yellow",  
"namePL":["żółty"]}, ]  ;

var getColour;
$(function(){
   getColour = function(){
    var entry = myJson[Math.floor(Math.random()*myJson.length)];           
    return entry;      
   }
   $("#getColour").click(function(){
     var localObj = getColour(); 
     $("#divTest").html("Color name: " + localObj.name);
     $("#divTest").css('background-color', localObj.name ); 
   });   
});

工作小提琴:http://jsfiddle.net/robertrozas/vhkdzgo2/