使用从其他JSON获取的字符串引用JSON变量

n53p2ov0  于 2023-05-30  发布在  其他
关注(0)|答案(3)|浏览(182)

我有两个JSON文件。
文件1

{
  object: {
    variable: true
  }
}

文件2

{
  object2: {
    tag: "object.variable
  }
}

我所坚持的是,我需要在一个JavaScript文件中,从文件2中获取标记,并使用它来引用文件1中的变量。
我已经得到了两个文件1作为一个JSON,并得到了'标签'从文件2在我的代码。然而,我完全不知道如何使用字符串“object.variable”从文件1中获取object.variable的值。
PS(我试过使用eval,但没有运气,尽管我想尽一切可能避免它。)

qvtsj1bj

qvtsj1bj1#

你的意思是这样的吗?

var file1 = {
  object: {
    variable: true
  }
};

var file2 = {
  object2: {
    tag: "object.variable"
  }
};

var result =  file2.object2.tag.split('.').reduce((a, b) =>  a ? a[b] : null, file1);


console.log(result);
ddhy6vgd

ddhy6vgd2#

这可能是可能的解决方案:

var query = {
  object2: {
    tag: "data.object.variable"
  }
}


var data = {
  object: {
    variable: true
  }
}

console.log(eval(query.object2.tag));
sigwle7e

sigwle7e3#

但是如果你想引用相同的json,这是一个你可以使用的方法:

jsn = {
    x : 2,
    y : ()=>(jsn.x*2)
}

这样,你就可以在同一个JSON中引用一个变量到另一个变量

相关问题