将函数作为 json 对象中的值进行访问
Access a function as a value in json object
我有一个 json 对象
"a1":
{
"b1": "val1",
"b2": "function() {return null}",
"c1": "{}"
}
此函数需要传递给 运行 一个 rethink-db 查询。这个函数a1.b1需要传
r.db(database).table(table).indexCreate(indexname, a1.b2, a1.c1)
当我 运行 查询时,我收到错误消息:'Expected type FUNCTION but found DATUM:\n"function() {return null;}"',
请提出修复建议。
一方面,您通常不应该将函数作为 JSON 发送,这就是问题的根源。但是,暂时忽略它,您可以 eval
:
r.db(database).table(table).indexCreate(indexname, eval('('+a1.b2+')'), {});
但要小心eval
。还有安全问题等等
有关从字符串计算函数的一些其他方法,我建议查看 this question。
我有一个 json 对象
"a1":
{
"b1": "val1",
"b2": "function() {return null}",
"c1": "{}"
}
此函数需要传递给 运行 一个 rethink-db 查询。这个函数a1.b1需要传
r.db(database).table(table).indexCreate(indexname, a1.b2, a1.c1)
当我 运行 查询时,我收到错误消息:'Expected type FUNCTION but found DATUM:\n"function() {return null;}"',
请提出修复建议。
一方面,您通常不应该将函数作为 JSON 发送,这就是问题的根源。但是,暂时忽略它,您可以 eval
:
r.db(database).table(table).indexCreate(indexname, eval('('+a1.b2+')'), {});
但要小心eval
。还有安全问题等等
有关从字符串计算函数的一些其他方法,我建议查看 this question。