Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Switch Statement on Json?

I am wondering how do I make a switch statement in json?

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

I tried

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

But it seems to ignore my first case.

Edit

// 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
}

So that is what I am trying to do just with a switch statement.

like image 669
chobo2 Avatar asked Mar 02 '11 22:03

chobo2


2 Answers

This would be the correct syntax:

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

But I suspect that in your case the following structure would be more adapted:

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

because it would allow you to switch on the key:

switch(response.Errors.key)
{
    case 'key1':
        alert(response.Errors.message);
        break;
    default:
        alert('default');
}
like image 63
Darin Dimitrov Avatar answered Sep 24 '22 16:09

Darin Dimitrov


It sounds like you want to switch on the value key1 instead of the name key1.

switch (response.Errors.key1) {
  case 'afkafk':
   ...
}
like image 30
JaredPar Avatar answered Sep 24 '22 16:09

JaredPar