这是我的json对象
{
"a1": {
"b1": {
"name": "Tim",
"status": "Completed"
}
"c1" {
"field1": "name",
"field2": "status"
}
}
我需要通过获取c1中的字段键来访问值Tim。 例如,我需要获取a1.c1.field1的值,它给出值name1,然后我需要通过a1.b1访问值tim。(a1.c1.field1的值) 我不知道该怎么做。有人可以给出实现这个目标的可能方法吗?
答案 0 :(得分:0)
您的JSON有点偏差,所以在下面进行了更正。这是如何检索c1对象(在a1对象中)
中的field1值的示例$(document).ready(function () {
var json = {
"a1":
{
"b1":
{
"name": "Tim",
"status": "Completed"
},
"c1":
{
"field1": "name",
"field2": "status"
}
}
};
console.log(json.a1.b1.name); // returns Tim
// or
console.log(json["a1"]["b1"]["name"]); // returns Tim
});
这是你要找的吗?
答案 1 :(得分:0)
您可以使用方括号进行访问。根据您提供的数据,
var data = {
"a1": {
"b1": {
"name": "Tim",
"status": "Completed"
},
"c1":{
"field1": "name",
"field2": "status"
}
}
};
您可以通过访问来实现您的要求。
data.a1.b1[data.a1.c1.field1]
答案 2 :(得分:0)
显而易见的方法是使用括号表示法将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'
答案 3 :(得分:0)
var a1 =
{
"b1":
{
"name": "Tim",
"status": "Completed"
},
"c1":
{
"field1": "name",
"field2": "status"
}
};
console.log(a1.b1[a1.c1.field1]);
也要在json中修复错误;)