传递类似表的语法是什么
* table user
| UserId | UserType | UserRoles |
| 123 | 'Regional' | { Role : Ninja } |
作为外部javascript函数的参数,其返回值存储在变量中?
我在想* def uid = call read('base64-encoder.js') { user }
该函数定义为
function(uid) {
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(uid.bytes);
}
但这会给出一个ParserException:文件位置7的意外结尾:null
答案 0 :(得分:2)
在这种情况下,将空手道表传递给外部javascript函数的语法为
* def uid = call read('base64-encoder.js') user
只需为函数参数添加一个空格。
JavaScript只是不知道如何处理它得到的列表项。 因此,为了使此函数不会在类型检查中失败,必须首先将表行强制转换为这样的字符串:
* string me = user[0]
* def uid = call read('base64-encoder.js') me
这样,java不会在表上阻塞,您将从编码字符串中得到格式正确的JSON字符串:
function(uid) {
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(uid.bytes);
return encoded;
}
答案 1 :(得分:1)
您是否要在数据库表中保存Javascript对象?
您可以将Javascript值转换为JSON
。 JSON
是一个String
,您可以轻松保存它。示例:
// convert to JSON
var jsonDatas = JSON.stringify(yourDatas);
// convert to JavaScript value
var javascriptDatas = JSON.parse(jsonDatas);
它可以工作,但我不建议在数据库中保存JSON。
希望它能对您有所帮助。