检查对象是否有任何嵌套对象并获取它的值

Check if object haves any nested objects and get its value

我有一个 JSON 对象序列,来自 post 请求

{
  "labels": {
     "name": "Toma/Dyrskuvegen5/360.001/Avkasttemperatur"
  }
}

在某些序列中,标签是空的(在这种情况下应该 return false),在某些序列中,它们不是。 同样在某些序列中

labels.name

将是其他一些随机密钥名称,例如:

labels.room_number

我的任务是判断labels下是否有key,设置两个字符串,一个是key name,一个是key-value 上面的例子:

n = "name"

v = "Toma/Dyrskuvegen5/360.001/Avkasttemperatur"

您可以使用 Object.entries 来做到这一点。它 returns 给定对象的 [key, value] 对数组

let incoming = {"labels":
    {"name":
    "Toma/Dyrskuvegen5/360.001/Avkasttemperatur"}};
    let incoming2 = {"labels":
    {"age":
    "22"}};
     let incoming3 = {"labels":
    {}};
    
let getThis = (incoming) => {
  let entries = Object.entries(incoming.labels);
  if(entries.length > 0){
  [s,v] = Object.entries(incoming.labels)[0];
  console.log(s,v);
  }
  return false;
};
getThis(incoming3);
getThis(incoming);
getThis(incoming2);