[英]Check if a json key is a complex object javascript
USING IBP BPM 8.6: 使用IBP BPM 8.6:
I have a Json object as follows: 我有一个Json对象,如下所示:
tw.local.stringifiedJSON = "{"name":"ahmed","age":"20","job":{"salary":"1000","position":"developer"}}";
I parsed into a javascript object: 我解析为一个javascript对象:
var parsedJSONTW= JSON.parse(tw.local.stringifiedJSON);
I want to check if each key is complex (nested or has other keys and values in it like "job") or flat (has a value only like "name") 我想检查每个键是否为复杂键(嵌套或具有其他键和值,如“作业”)或平面键(仅具有值,如“名称”)
var finObj={};
var i;
for ( i in parsedJSONTW) {
if (finObj[i] === undefined) { finObj[i] = {}; }
tw.local.propertiesOfObject=Object.getOwnPropertyNames(parsedJSONTW[i]);
if(tw.local.propertiesOfObject==null || tw.local.propertiesOfObject.listLength==0)
{
finObj[i]= parsedJSONTW[i]; //expected to have name and age fields only
}
Using object.getOwnProperty() doesn't work with a flat object and gives the error of "expected an object but found a string" 使用object.getOwnProperty()不适用于平面对象,并给出“预期对象但找到字符串”的错误
You can use "typeof" for this: 您可以为此使用“ typeof”:
let a = {"name":"ahmed","age":"20","job":{"salary":"1000","position":"developer"}}
for(let k in a){
console.log(typeof a[k])
if(typeof a[k] === 'object'){
console.log("nested")
}
else{
console.log("flat")
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.