我们正试图将一个JsonPath转换为一个不同的jsonpath,如下所示:
Request:
{
"name" : "Required",
"address[0]" : "Required",
"address[0].city" : "Optional",
"address[0].country" : "Required"
"address[1]" : "Required",
"address[1].city" : "Required",
"address[1].country" : "Required",
}
Expected Transformed Response
{
"customerName" : "Required",
"homeAddress" : "Required",
"homeAddress.city" : "Optional",
"homeAddress.country" : "Required",
"officeAddress" : "Required",
"officeAddress.city" : "Required",
"officeAddress.country" : "Required",
}如前所述,其目的是将address[0] -> homeAddress映射,并将数组parent(address[0])映射到对象parent(homeAddress),并将address[1]映射到officeAddress。
是否有任何方法可以根据某些条件将jsonpath转换为另一个jsonpath?
我们已经试过了。
发布于 2022-09-06 05:21:13
在http://jolt-demo.appspot.com/使用抖动测试器
如果将此请求粘贴到"JSON输入“字段中:
{
"name" : "Required",
"address[0]" : "Required",
"address[0].city" : "Optional",
"address[0].country" : "Required",
"address[1]" : "Required",
"address[1].city" : "Required",
"address[1].country" : "Required"
}然后将其粘贴到"JSON Spec“字段中:
[
{
"operation": "shift",
"spec": {
"name": "customerName",
"address\\[0\\]": "homeAddress",
"address\\[0\\]\\.city": "homeAddress\\.city",
"address\\[0\\]\\.country": "homeAddress\\.country",
"address\\[1\\]": "officeAddress",
"address\\[1\\]\\.city": "officeAddress\\.city",
"address\\[1\\]\\.country": "officeAddress\\.country"
}
}
]然后,变换产生:
{
"customerName" : "Required",
"homeAddress" : "Required",
"homeAddress.city" : "Optional",
"homeAddress.country" : "Required",
"officeAddress" : "Required",
"officeAddress.city" : "Required",
"officeAddress.country" : "Required"
}注意:规范的键是JSONPath表达式,所以任何被JSONPath专门处理的东西都需要用反斜杠转义:[,],.。
https://stackoverflow.com/questions/58799522
复制相似问题