我是nodeJS的新手,现在我正在编写一个连接到外部api的小型服务。 这个api有几种类型的对象,每个对象有几种类型的函数。 我希望我的服务能够查询这个api,但我想要的是查询将在它自己的json文件中定义,所以为了将来的使用,人们可以添加/删除/更改这些查询。
json文件的示例:
{
"object": "foo",
"function": "bar",
"params": {
"x": "1",
"y": "2"
}
}
对象是'foo',是'bar',并且params将作为整个json对象传递,所以我真的不关心这部分。
如何创建对象'foo',然后调用函数'bar'?
答案 0 :(得分:2)
如果我理解的话...说你加载这样的查询值...(假设可能需要进行微小的改动才能使这个工作,或者使用另一种方法将文件内容作为字符串加载然后解析它等.....)
var fileJSON = require('./test.json');
var meta = JSON.parse(fileJSON);
...然后假设“foo”对象是当前方法上下文中的一个字段(即这个)......(这可能甚至不正确)你“可能”做一些像这样的时髦...... < / p>
this[meta.object][meta.function](meta.params);
即。从上下文中获取“foo”对象,从该对象中获取“函数”函数,并且我们称之为将params作为对象传递(如果你需要这个我不确定)
警告:强> - 我不确定“foo”是否是当前对象(这个)上的字段是正确的但我确定你可以调整这个......你只需要改变 this 无论对象是什么,在一个字段中有“foo”对象或类似的东西,即构造“foo”的实例......不知道事物是如何构造的,这是我认为我能给你的最好的例子。 - 我不确定nodejs(v8)是否会阻塞.object和.function ...你可能不得不这样做
this[meta["object"]][meta["function"]](meta.params);