Karatedsl JSON 模式失败,响应"all key-values did not match"



我尝试了类似于karatedsl的json模式的功能。。。例如,我有一个json文件,其中包含:

{
"level": "info",
"event": "biller.purchase",
"credential": "MallOn_v2",
"package": "aaaa",
"id": 41658,
"customer_id": "088810000000",
"elapsed_time": 201,
"transactionbillerid": 39124,
"paramrequest": {
"amount": "10000",
"customer_id": "088810000000",
"partner_name": "MallOn_v2"
},
"parsedresponse": {
"desc": "SUCCESS",
"rescode": "0",
"status": "success",
"transactionID": "511644294"
},
"responsecode": "00",
"price": 10000,
"amount": 10000,
"time": "2018-11-29T19:06:04.757550"
}

我这样匹配那个儿子:

  • defjson=read('biller_log2.json'(
  • 然后匹配json==

"""
{
"level": '#string',
"event": '#string',
"credential": '#string',
"package": '#string',
"id": 'number',
"customer_id": '#string',
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": {
"amount": '#string',
"customer_id": '#string',
"partner_name": '#string'
},
"parsedresponse": {
"desc": '#string',
"rescode": '#string',
"status": '#string',
"transactionID": '#string'
},
"responsecode": '#string',
"price": '#number',
"amount": '#number',
"time": '#string'
}
"""

但我收到消息"原因:所有键值都不匹配"的错误,如何修复??

您的模式有一个不正确的值导致此故障,

id应该是"#number"而不是"number"

修改的架构:

""" 
{
"level": '#string',
"event": '#string', 
"credential": '#string',
"package": '#string',
"id": '#number', 
"customer_id": '#string',     
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": { 
"amount": '#string', 
"customer_id": '#string',      
"partner_name": '#string' 
}, 
"parsedresponse": {
"desc": '#string',
"rescode": '#string', 
"status": '#string', 
"transactionID": '#string'
}, 
"responsecode": '#string',
"price": '#number', 
"amount": '#number', 
"time": '#string' 
} 
"""

最新更新