将像这样的表作为参数传递给外部JavaScript函数并将返回值存储在变量中的语法是什么?
* table user
| UserId | UserType | UserRoles |
| 123 | 'Regional' | { Role : Ninja } |
我在考虑* 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意外结束:空
发布于 2018-07-05 23:43:28
在本例中,将空手道表传递给外部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;
}
发布于 2018-07-05 22:40:53
如果想要在数据库表中保存JavaScript对象,可以将JSON值转换为JavaScript。JSON内容是一个字符串,您可以轻松地将其保存到其中。示例:
// Convert to JSON
var jsonDatas = JSON.stringify(yourDatas);
// Convert to a JavaScript value
var javascriptDatas = JSON.parse(jsonDatas);
它可以工作,但我不建议将JSON内容保存在数据库中。
https://stackoverflow.com/questions/51193603
复制相似问题