json - 反应:如果json父标签不存在则跳过行
问题描述
我处于以下情况并遇到以下问题。
我正在开发一个从 .json 文件中读取数据的应用程序。我将这些数据存储在行中。现在 .json 文件可能会有所不同,因此我必须涵盖每种情况(有很多情况)。如果 .json 中不存在标签,则不应显示此行。
现在,我可能已经介绍了一个在 JSON 中搜索data.test.person
但data.test
不存在的案例。
案例可能如下所示:
<TestAntragsdatenAbschnitt
title={"Test"}
value={data.test}>
<TestAntragsdatenRow
label1={"Person"}
value1={data.test.person}
/>
</TestAntragsdatenAbschnitt>
这是我的组件。
export default class TestAntragsdatenAbschnitt extends React.Component {
value;
title;
render() {
this.value = this.props.value;
this.title = this.props.title;
return (
<>
<h4 className={"antragsdatenAbschnitt"}>
{checkAbschnitt(this.title, this.value)}
</h4>
{this.value != null &&
this.props.children
}
</>
);
}
}
通过查询this.value != null &&
,我试图解决该错误。
我得到的错误:TypeError: Cannot read property 'person' of undefined
我现在的问题是,如果存在 JSON 标签,我如何查询它们,如果存在,则应检查行。如果不是所有带有这个标签的行都应该被跳过。
解决方案
Object.keys(data).includes('test')
可以是一种检查 json 对象是否具有该属性的方法。
还有很多其他的方法。你也可以试试:
value1={data.test ? data.test.person : 'error'}
一种安全的空值检查方法
推荐阅读
- ios - 在 Xcode 控制台中除以两个双打会产生错误的结果
- botframework - Microsoft 虚拟助手模板部署失败
- terraform-provider-aws - 为什么已经创建的实例被删除并重新创建?
- jquery - 如何正确切换兄弟元素和相关子元素?
- javascript - 在 reactjs 中使用 forEach 读取数组元素
- mongodb - 如何使用 mongodb 在 lambda 函数中组合两个输出?
- python - 我无法在 django 中成功迁移和运行我的服务器
- r - 对我的数据进行子集化并没有产生预期的结果
- bash - 如何在我的 bash 脚本函数中使用我自己的选项
- java - LibGDX / Box2D:制作 KinematicBody 移动平台