节点 JS - 检查 JSON 文件是否具有嵌套元素的 hasOwnProperty
Node JS - Check if JSON File hasOwnProperty with nested elements
我只是想检查 JSON 对象是否有特定的键。
首先,我将 JSON 文件解析为一个对象,但是当我尝试这样做时:
console.log("Inspect:" + util.inspect(oldConfig[websiteName][groupName]));
console.log("Check Prop: " + oldConfig.hasOwnProperty([websiteName][groupName]));
我的控制台是这样说的:
Inspect:{ tmpTestTitle: { active: false, fileName: 'tmpFilename1' } }
Check Prop: false
我想知道为什么我可以使用 util.inspect 看到键和值,但是当我尝试使用 hasOwnProperty[ 进行检查时却看不到=28=]-函数.
我还检查了 JSON- 文件的正确格式,并尝试使用点符号 (websiteName.groupName) 找到关键点。
作为补充,这是整个 json-对象在控制台中的样子:
{ tmpWebTitle: { tmpGroupname: { tmpTestTitle: [Object] } } }
感谢您的帮助。
Object.hasOwnProperty()
将字符串作为参数并检查对象的键,而不是嵌套对象的键。
对于您的问题,您应该首先访问内部值并在其上检查 hasOwnProperty()
oldConfig[websiteName].hasOwnProperty(groupName));
let oldConfig={
tmpWebTitle: {
tmpGroupname: {
tmpTestTitle: []
}
}
};
let websiteName ='tmpWebTitle';
let groupName ='tmpGroupname';
console.log("Check prop:", oldConfig[websiteName].hasOwnProperty(groupName));
.as-console-wrapper { max-height: 100% !important; top: 0; }
我只是想检查 JSON 对象是否有特定的键。 首先,我将 JSON 文件解析为一个对象,但是当我尝试这样做时:
console.log("Inspect:" + util.inspect(oldConfig[websiteName][groupName]));
console.log("Check Prop: " + oldConfig.hasOwnProperty([websiteName][groupName]));
我的控制台是这样说的:
Inspect:{ tmpTestTitle: { active: false, fileName: 'tmpFilename1' } }
Check Prop: false
我想知道为什么我可以使用 util.inspect 看到键和值,但是当我尝试使用 hasOwnProperty[ 进行检查时却看不到=28=]-函数.
我还检查了 JSON- 文件的正确格式,并尝试使用点符号 (websiteName.groupName) 找到关键点。
作为补充,这是整个 json-对象在控制台中的样子:
{ tmpWebTitle: { tmpGroupname: { tmpTestTitle: [Object] } } }
感谢您的帮助。
Object.hasOwnProperty()
将字符串作为参数并检查对象的键,而不是嵌套对象的键。
对于您的问题,您应该首先访问内部值并在其上检查 hasOwnProperty()
oldConfig[websiteName].hasOwnProperty(groupName));
let oldConfig={
tmpWebTitle: {
tmpGroupname: {
tmpTestTitle: []
}
}
};
let websiteName ='tmpWebTitle';
let groupName ='tmpGroupname';
console.log("Check prop:", oldConfig[websiteName].hasOwnProperty(groupName));
.as-console-wrapper { max-height: 100% !important; top: 0; }