我有一个 json 对象
"a1":
{
"b1": "val1",
"b2": "function() {return null}",
"c1": "{}"
}
需要传递此函数才能运行 rethink-db 查询。这个函数a1.b1需要传入
r.db(database).table(table).indexCreate(indexname, a1.b2, a1.c1)
当我运行查询时,我收到错误消息:'预期类型 FUNCTION 但找到 DATUM:\n"function() {return null;}"',
请提出解决此问题的建议。
最佳答案
一方面,您通常不应该以 JSON 形式发送函数,这是问题的根源。不过,暂时忽略这一点,您可以执行eval
:
r.db(database).table(table).indexCreate(indexname, eval('('+a1.b2+')'), {});
不过要小心eval
。存在安全问题等。
对于从字符串计算函数的一些其他方法,我建议查看 this question .
关于javascript - 将函数作为 json 对象中的值访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487356/