Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问嵌套json对象时的值替换_Javascript_Json_Node.js - Fatal编程技术网

Javascript 访问嵌套json对象时的值替换

Javascript 访问嵌套json对象时的值替换,javascript,json,node.js,Javascript,Json,Node.js,这是我的json对象 { "a1": { "b1": { "name": "Tim", "status": "Completed" } "c1" { "field1": "name", "field2": "status" } } 我需要通过获取c1中的字段键来访问值Tim。 例如,我需要获取a1.c1.field1的值,该值给出了值名称1,然后我需要通过a1.b1访问值tim。(a1.c1.fi

这是我的json对象

{
  "a1": {
    "b1": {
      "name": "Tim",
      "status": "Completed"
     }
     "c1" {
       "field1": "name",
       "field2": "status"
     }
  }
我需要通过获取c1中的字段键来访问值Tim。 例如,我需要获取a1.c1.field1的值,该值给出了值名称1,然后我需要通过a1.b1访问值tim。(a1.c1.field1的值)
我不知道怎么做。有人能给出实现这一点的可能方法吗?

您的JSON有点不正确,因此下面对其进行了更正。这是一个如何检索c1对象(a1对象)中field1值的示例


这就是你要找的吗?

你的JSON有点不对劲,所以下面对它进行了更正。这是一个如何检索c1对象(a1对象)中field1值的示例


这就是您要找的吗?

您可以使用方括号访问。根据你提供的数据

var data = {
        "a1": {
            "b1": {
                "name": "Tim",
                "status": "Completed"
            },
            "c1":{
                "field1": "name",
                "field2": "status"
            }
    }
};
您可以通过访问来实现您的需求

data.a1.b1[data.a1.c1.field1]

您可以使用方括号访问。根据你提供的数据

var data = {
        "a1": {
            "b1": {
                "name": "Tim",
                "status": "Completed"
            },
            "c1":{
                "field1": "name",
                "field2": "status"
            }
    }
};
您可以通过访问来实现您的需求

data.a1.b1[data.a1.c1.field1]

显而易见的方法是使用括号表示法将
a1.c1.field1
用作属性访问器

var obj = {
    "a1": {
        "b1": {
            "name": "Tim",
            "status": "Completed"
        },

        "c1": {
            "field1": "name",
            "field2": "status"
        }
    }
};

console.log(obj.a1.c1.field1); // 'name'
console.log(obj.a1.b1[obj.a1.c1.field1]); // 'Tim'
或者更清楚地说

var key = obj.a1.c1.field1;
var value = obj.a1.b1[key];
console.log(value); // 'Tim'

显而易见的方法是使用括号表示法将
a1.c1.field1
用作属性访问器

var obj = {
    "a1": {
        "b1": {
            "name": "Tim",
            "status": "Completed"
        },

        "c1": {
            "field1": "name",
            "field2": "status"
        }
    }
};

console.log(obj.a1.c1.field1); // 'name'
console.log(obj.a1.b1[obj.a1.c1.field1]); // 'Tim'
或者更清楚地说

var key = obj.a1.c1.field1;
var value = obj.a1.b1[key];
console.log(value); // 'Tim'
也要修复json中的错误;)


也要修复json中的错误;)

不,获取值名称后,我需要值tim。(a1.b1.(名称))。此值名称需要来自json.a1.c1.field1,因此您希望field1:name成为实际的名称值(tim)?否,在获得值名称后,我需要值tim。(a1.b1.(名称))。此值名称需要来自json.a1.c1.field1,您是否希望field1:name成为实际的名称值(tim)?