如果json数据(来自后端)具有角度键值,如何检查条件
Posted
技术标签:
【中文标题】如果json数据(来自后端)具有角度键值,如何检查条件【英文标题】:How to check the condition if the json data (coming from backend) has a key value in angular 【发布时间】:2022-01-18 11:09:42 【问题描述】:在我的 Angular 应用程序中,我从服务器获取了数据,它是 json 格式,例如
jsondata =
Id: 16531914,
EmailId: "abc@gmail.com"
我的要求是如果 jsondata(来自服务器)有 Id,那么我必须导航到仪表板页面,否则我必须转到登录页面
【问题讨论】:
这不是 JSON。 【参考方案1】:您还可以检查对象何时可用
goto = (page) =>
this.router.navigate([page]);
jsondata?.id ? this.goto(jsondata.id.toString()) : this.goto('login')
【讨论】:
【参考方案2】:当 JSON 被解析为 JS 对象时(通过 JSON.parse
或 Angular 的 HttpClient
在内部调用),您可以通过将其与 null
进行比较来检查字段是否存在:
if (jsondata.Id != null)
// navigate(etc)
如果id
字段为0
,则仅执行if (jsondata.Id)
将不起作用,因为0
在JS 中是一个虚假值。与 null (!= null
) 进行失败比较将捕获 undefined
和 null
但不会捕获 0
。
【讨论】:
【参考方案3】:你可以简单地使用 if chek
if(jsondata.Id) return this.router.navigate([...other routes, jsondata.Id])
this.router.navigate(['/login'])
【讨论】:
以上是关于如果json数据(来自后端)具有角度键值,如何检查条件的主要内容,如果未能解决你的问题,请参考以下文章
如何以角度保存和加载来自 html WYSIWYG 编辑器的内容
在对象的 json 数组中找到一个键值并返回另一个带有角度的键值
使用 Spring boot 解析具有无效键值的 JSON 对象