Javascript 如何在JSON对象中获取密钥

Javascript 如何在JSON对象中获取密钥,javascript,json,typescript,Javascript,Json,Typescript,我有一个来自服务器的JSON对象 如果我跑 console.log(msg); 我从控制台上得到这个 如何从对象获取密钥或所有密钥? 我试过了 console.log(msg.Object.key) 但是抱怨 类型“{}”上不存在属性“Object” 任何帮助都将不胜感激 编辑: 这是工作,我有输出 对象{键:“IL_成像仪”,值:“2.7872460627869”} 但我只想要钥匙 我试过: console.log((msg.data[0].key)); 但是 错误类型错误:无法读取未

我有一个来自服务器的JSON对象

如果我跑

console.log(msg);
我从控制台上得到这个

如何从对象获取密钥或所有密钥? 我试过了

console.log(msg.Object.key)
但是抱怨

类型“{}”上不存在属性“Object”

任何帮助都将不胜感激

编辑:

这是工作,我有输出

对象{键:“IL_成像仪”,值:“2.7872460627869”}

但我只想要钥匙

我试过:

console.log((msg.data[0].key));
但是

错误类型错误:无法读取未定义的属性“key”

问题解决了。 这是因为我在服务器中有两个对象,其中一个没有“值”

这就是答案:

  console.log((msg.data[0].key));

看看你的屏幕截图,你有这样的数据

var arr=[{“id”:“X”,“price”:“5”,“size”:“5”},
{“id”:“Y”,“price”:“10”,“size”:“5”},
{“id”:“X”,“price”:“5”,“size”:“5”},
{“id”:“Y”,“price”:“10”,“size”:“5”},
{“id”:“Z”,“price”:“5”,“size”:“5”},
{“id”:“X”,“price”:“5”,“size”:“5”},
{“id”:“X”,“price”:“5”,“size”:“5”},
{“id”:“Z”,“price”:“5”,“size”:“5”},
{“id”:“Q”,“price”:“11”,“size”:“5”}];
var测试=arr.map((数据)=>{
返回data.id;
});

控制台日志(测试)
msg.Data[0]。key
-
msg
是一个对象,它有一个属性,
Data
,它是一个对象数组
Object
实际上不是一个属性,它只是控制台告诉您变量数据类型。属性“data”在类型“{}”上不存在,我是否应该将数据初始化为数据:[]?如何初始化
msg
它将是
Object.keys(msg)
message={};//initial here listener.subscribe(msg=>{this.message=msg;console.log((this.message))});
  console.log((msg.data[0].key));