Home > Software design >  How to check the condition if the json data (coming from backend) has a key value in angular
How to check the condition if the json data (coming from backend) has a key value in angular

Time:12-16

In my angular application I Have fetched the data from the server and it is in json format like

jsondata = { 
    Id: 16531914, 
    EmailId: "[email protected]" 
}

And my requirement is if the jsondata(coming from server ) has the Id then I have to navigate to the dashboard page else I have to go to the login page

CodePudding user response:

you can simply use an if chek

if(jsondata.Id) return this.router.navigate([...other routes, jsondata.Id]) 
this.router.navigate(['/login'])

CodePudding user response:

When the JSON has been parsed into a JS object (via JSON.parse or Angular's HttpClient calling that internally) you can check if a field exists by comparing it against null:

if (jsondata.Id != null) {
  // navigate(etc)
}

Just doing if (jsondata.Id) won't work if the id field is 0 because 0 is a falsy value in JS. Doing a lose comparison to null (!= null) will capture both undefined and null but not 0.

CodePudding user response:

You can also check, when the object is available or not

goto = (page) => {
  this.router.navigate([page]);
}

jsondata?.id ? this.goto(jsondata.id.toString()) : this.goto('login')
  • Related