Javascript Json上的Switch语句?
我想知道如何在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
{"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'://做点什么打破;}}