如何访问字典中的字典?

时间:2017-09-16 08:17:11

标签: javascript json

我正试图弄清楚如何通过JavaScript访问两个词典中的值。

服务器的JSON输出是;

{ “元”:{}, “连接”:{custom_fields “:[{” ID “:” 4" , “姓名”: “部门”}], “custom_field_values”:[{ “ID”:” 0001" , “值”: “市场”, “链接”:{ “custom_field”:{ “ID”: “4”, “类型”: “custom_fields”}}}]

我需要将营销列为部门。我似乎无法访问“链接”来拉取ID。

如果我创建var linked = linked.custom_field_values;,我会收到回复。

{ “ID”: “0001”, “值”: “市场”, “链接”:{ “custom_field”:{ “ID”: “4”, “类型”: “custom_fields”}}}

一旦我尝试var cfl = linked.links.custom_field.id,就会说链​​接没有定义。所以我不确定在尝试为此创建变量时我做错了什么?

链接是一个带有Custom_field的字典,右边是带有我需要的值的字典。

如果一切正常,这不会正确打印出部门吗?

if(cfl.id == 4){
console.log('Department is ' + linked.value);
}

2 个答案:

答案 0 :(得分:0)

它看起来像custom_field_values一个数组。您必须查看数组中的第一项,如var linked = linked.custom_field_values[0];

答案 1 :(得分:0)

使用正确的格式化对象,您会看到内部有一个数组。所以你需要为数组取一个索引。

    var object = {
        meta: {},
        linked: {
            custom_fields: [
                {
                    id: "4",
                    name: "Department"
                }
            ],
            custom_field_values: [
                {
                    id: "0001",
                    value: "Marketing",
                    links: {
                        custom_field: {
                            id: "4",
                            type: "custom_fields"
                        }
                    }
                }
            ]
        }
    };

console.log(object.linked.custom_fields[0].id);
console.log(object.linked.custom_field_values[0].id);