如何在JSON对象中访问值

时间:2018-10-11 13:10:23

标签: javascript json

我有以下JSON对象表示法:

[{"getCname('mail.fred.com.au')":[{"cname":"www.fred.com.au"}]}]

并且不确定如何仅在JavaScript中单独访问“ cname”值,即我只要求:

"www.fred.com.au"

我尝试了res[0].cname,但这似乎没有用。

3 个答案:

答案 0 :(得分:4)

如果有

let object = [{"getCname('mail.fred.com.au')":[{"cname":"www.fred.com.au"}]}];

然后您可以通过以下方式获取该URL值

let url = object[0]["getCname('mail.fred.com.au')"][0].cname;

外部对象是一个数组,带有长奇怪名称的属性的值也是一个数组,因此[0]在两个地方。

答案 1 :(得分:0)

这有点笨拙,但是如果您不知道'getCname'键,可以这样做:

let res = [{"getCname('mail.fred.com.au')":[{"cname":"www.fred.com.au"}]}];
let key = Object.keys(res[0])[0];

let cname = res[0][key][0].cname;

答案 2 :(得分:0)

尝试这些

var res = [{"getCname('mail.fred.com.au')":[{"cname":"www.fred.com.au"}]}];

res[0] ;// returns Object  {"getCname('mail.fred.com.au')":[{"cname":"www.fred.com.au"}]};

res[0]["getCname('mail.fred.com.au')"] ;//returns Array [{"cname":"www.fred.com.au"}];

res[0]["getCname('mail.fred.com.au')"][0].cname ;//returns "www.fred.com.au"