Javascript Json上的Switch语句?

Javascript Json上的Switch语句?,javascript,jquery,json,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 no

我想知道如何在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语句所要做的。

这将是正确的语法:

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');
}

听起来您想打开值
key1
,而不是名称
key1

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

我不完全确定你想达到什么目的。您是否尝试根据键1的值进行切换?Switch语句需要能够将传递给Switch语句的变量与case语句的值相匹配,因此下面的方法可以工作,尽管我不确定这是否是您想要的:

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

那没有任何意义<代码>响应永远不会等于
响应。错误。按键1
。您似乎误解了
开关
。你认为它应该做什么?为什么不呢。响应包含json。我可以执行response.Errors.Key1,它会打印出值。所以我也需要它。看看德尔南-我认为错误是一本字典。我想看看这些键,然后根据它找到的键做些什么。嗯,我想看看错误中的键值是什么。因此,如果是key1=>则执行此操作。如果是键2,请执行该操作。我想我可能必须循环检查所有键,然后检查if语句(即使我隔离出来的键是特殊的键,错误数组中没有其他内容,因此我尝试执行switch语句)@chobo2,如果您想实现这一点,我建议您使用以下JSON结构:
{“Errors”:{“key”:“key1”,消息:“afkafk”},“IsValid”:false,“successessage”:“”}
。我正在尝试匹配键,并根据键执行一些操作。因此,如果我看到键1,那么我希望在键1中显示的值与在键2中显示的值不同。啊,对了,我现在看到了。在这种情况下,您将希望迭代错误属性。您可以这样做:
for(var key in response.Errors){switch(response.Errors[key]){case'afkafk'://做点什么打破;}}