关于Json的Switch声明?

时间:2011-03-02 22:16:10

标签: javascript jquery json

我想知道如何在json中创建switch语句?

{"Errors":{"key1":"afkafk"},"IsValid":false,"SuccessMessage":""}

我试过

switch(response)
{
   case response.Errors.key1:
    alert('test');
   default: 
}

但它似乎忽略了我的第一个案例。

修改

// if undefined then go to next if statement - I am not sure if I can do something 
// like !=== null
if (response.Errors.key1)
            {
               // display value of key1 
            }
else if(response.Errors.Key2)
{
   // display value of key2 differently
}

这就是我想用switch语句做的事情。

3 个答案:

答案 0 :(得分:8)

这将是正确的语法:

switch(response.Errors.key1)
{
    case 'afkafk':
        alert('test');
        break;
    default:
        alert('default');
}

但我怀疑在你的情况下,以下结构会更适应:

{ Errors: { key: 'key1', message: 'afkafk' }, IsValid: false, SuccessMessage: '' }

因为它可以让你打开钥匙:

switch(response.Errors.key)
{
    case 'key1':
        alert(response.Errors.message);
        break;
    default:
        alert('default');
}

答案 1 :(得分:2)

听起来您想要切换值key1而不是名称key1

switch (response.Errors.key1) {
  case 'afkafk':
   ...
}

答案 2 :(得分:1)

我不完全确定你想要实现的目标。您是否尝试根据key1的值进行切换?切换语句需要能够将传递给switch语句的变量与case语句的值相匹配,所以以下方法可行,但我不确定它是否是你所追求的:

switch (response.Errors.key1) {
  case 'afkafk': //do something
  break;
}