Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
传递表以调用read()JavaScript函数的语法_Javascript_Karate - Fatal编程技术网

传递表以调用read()JavaScript函数的语法

传递表以调用read()JavaScript函数的语法,javascript,karate,Javascript,Karate,将表作为参数传递给外部JavaScript函数,并将返回值存储在变量中的语法是什么 * table user | UserId | UserType | UserRoles | | 123 | 'Regional' | { Role : Ninja } | 我在想*defuid=callread('base64-encoder.js'){user},其中函数定义为 function(uid) { var Base64 = Java.type('java.util

将表作为参数传递给外部JavaScript函数,并将返回值存储在变量中的语法是什么

* table user
| UserId | UserType    | UserRoles        |
| 123    | 'Regional'  | { Role : Ninja } |
我在想
*defuid=callread('base64-encoder.js'){user}
,其中函数定义为

function(uid) {
  var Base64 = Java.type('java.util.Base64');
  var encoded = Base64.getEncoder().encodeToString(uid.bytes);
}
但这给出了一个:

ParserException:意外的文件结尾位置7:null


如果要在数据库表中保存JavaScript对象,可以将JavaScript值转换为JSON。JSON内容是一个可以轻松保存的字符串。例如:

  // Convert to JSON
  var jsonDatas = JSON.stringify(yourDatas);

  // Convert to a JavaScript value
  var javascriptDatas = JSON.parse(jsonDatas);

它可以工作,但我不建议将JSON内容保存在数据库中。

如果要在数据库表中保存JavaScript对象,可以将JavaScript值转换为JSON。JSON内容是一个可以轻松保存的字符串。例如:

  // Convert to JSON
  var jsonDatas = JSON.stringify(yourDatas);

  // Convert to a JavaScript value
  var javascriptDatas = JSON.parse(jsonDatas);

它可以工作,但我不建议将JSON内容保存在数据库中。

在这种情况下,将空手道表传递给外部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;
}

在本例中,将空手道表传递给外部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;
}

不,我想把一个KarateDSL表传递给一个javascript函数。啊,很抱歉。我真的不懂Java。你的问题有一个标签
javascript
,但我认为这是Java的问题。您可以添加标签
java
,这样可以更好地帮助您获得解决方案。空手道标签可能没问题。空手道是基于CucumberJVM的,但它本身就是一个野兽:)不,我想把一个KarateDSL表传递给一个javascript函数。啊,我很抱歉。我真的不懂Java。你的问题有一个标签
javascript
,但我认为这是Java的问题。您可以添加标签
java
,这样可以更好地帮助您获得解决方案。空手道标签可能没问题。空手道是以黄瓜为基础的,但它本身就是一头野兽:)