首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从jsonpath到jsonpath的条件转换

从jsonpath到jsonpath的条件转换
EN

Stack Overflow用户
提问于 2019-11-11 10:22:22
回答 1查看 191关注 0票数 0

我们正试图将一个JsonPath转换为一个不同的jsonpath,如下所示:

代码语言:javascript
复制
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?

我们已经试过了。

EN

回答 1

Stack Overflow用户

发布于 2022-09-06 05:21:13

http://jolt-demo.appspot.com/使用抖动测试器

如果将此请求粘贴到"JSON输入“字段中:

代码语言:javascript
复制
{
 "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“字段中:

代码语言:javascript
复制
[
  {
    "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"
    }
  }
]

然后,变换产生:

代码语言:javascript
复制
{
  "customerName" : "Required",
  "homeAddress" : "Required",
  "homeAddress.city" : "Optional",
  "homeAddress.country" : "Required",
  "officeAddress" : "Required",
  "officeAddress.city" : "Required",
  "officeAddress.country" : "Required"
}

注意:规范的键是JSONPath表达式,所以任何被JSONPath专门处理的东西都需要用反斜杠转义:[].

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58799522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档