Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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
Karate 如何管理json值字符串中的变量?_Karate - Fatal编程技术网

Karate 如何管理json值字符串中的变量?

Karate 如何管理json值字符串中的变量?,karate,Karate,我的空手道配置文件中有可变持卡人 我将其分配给新的entrID变量 我将JSON构建为字符串的主要内容 * def entrID = cardholder * def requestContactHistoryAdd = """ { "RequestBody": "{ \"ENTR_ID\" : \"entrID\", \"BHVR_ID\" : \"VRU\", }" } """ 现在我如何在json请求体内提供它 EDIT:因为您似乎有一个设计

我的空手道配置文件中有可变持卡人

我将其分配给新的entrID变量

我将JSON构建为字符串的主要内容

 * def entrID = cardholder  
 * def requestContactHistoryAdd = 
   """ 
   { 
   "RequestBody": "{ \"ENTR_ID\" : \"entrID\", \"BHVR_ID\" : \"VRU\", }"
   } 
   """

现在我如何在json请求体内提供它

EDIT:因为您似乎有一个设计非常糟糕的API,其中JSON包含一个嵌入式字符串(看起来像JSON)

请注意,我正在使用下面的
字符串
类型:

您可以这样做:

* def entrID = 'foo'  
* string temp = { "ENTR_ID" : "#(entrID)", "BHVR_ID" : "VRU" }
# note that you could have done this: 
# def temp = '{ "ENTR_ID" : "' + entrID + '", "BHVR_ID" : "VRU" }'
* def body = { RequestBody: '#(temp)' }
* print body
这给了你:

08:17:25.671 [main] INFO  com.intuit.karate - [print] {
  "RequestBody": "{\"ENTR_ID\":\"foo\",\"BHVR_ID\":\"VRU\"}"
}

我也是这样解决的

 * def entrID = someValueFromSomeWhere
 * def bodyValue = "{ \"ENTR_ID\":\"" + entrID + "\", \"BHVR_ID\" : \"VRU\" }"
 * def requestContactHistoryAdd = 
   """ 
   { 
   "RequestBody": "#(bodyValue)"
   } 
   """
我们也可以这样做

 * def bodyValue = "{ \"ENTR_ID\":\"" + someValueFromSomeWhere + "\", \"BHVR_ID\" : \"VRU\" }"
 * def requestContactHistoryAdd = 
  """
  { 
  "RequestBody": "#(bodyValue)" 
  }
  """


我同意将json构建为字符串是很难看的。。。但终点发展如下..不接受身体的另一种方式。。。这就是问题所在。我在文档中看到了这种情况。我会试着玩,也许我能解决它。thanks@SaidYusifli好的,我完全改变了我的答案。对你有用吗?但是请下次在你的问题上更清楚。哇,这真的很酷。如果我将变量声明为字符串而不是def,那么非常感谢。它带着所有的\“\”返回。