当前位置: 首页 > 知识库问答 >
问题:

使用复杂数据 JSON 的颠簸

暨高洁
2023-03-14

我有一个below json,我想使用jolt从其中提取另一个json。使用JOLT transform演示网站,我可以创造一些规范,但它并没有给出我想要的json

{
  "status": "OK",
  "recordCount": 26,
  "startTimestamp": "2017-08-08T04:49:31.3860406Z",
  "endTimestamp": "2017-08-08T04:49:31.8860442Z",
  "timeTaken": 0.5000036,
  "apiResults": [
    {
      "sportId": 28,
      "name": "Olympics",
      "league": {
        "leagueId": 442,
        "name": "Winter Olympics",
        "abbreviation": "WNTR_OLY",
        "displayName": "Winter Olympics",
        "season": {
          "season": 2014,
          "isActive": null
        },
        "medals": [
          {
            "olympicCountry": {
              "countryId": 1000,
              "name": "Russian Federation",
              "abbreviation": "RUS"
            },
            "medalCount": {
              "gold": 13,
              "silver": 11,
              "bronze": 9,
              "total": 33
            }
          },
          {
            "olympicCountry": {
              "countryId": 8673,
              "name": "Russian Federation",
              "abbreviation": "RUS"
            },
            "medalCount": {
              "gold": 13,
              "silver": 11,
              "bronze": 9,
              "total": 33
            }
          }
        ]
      }
    }
  ]
}

我想把它转换成

{
  "data" : [
    {
    "countryCode" :  1000,
    "countryName" : "Russian Federation",
    "medals" :  {
      "gold" : 13,
      "silver" : 11,
      "bronze" : 9,
      "total" : 33
    }
    }, 
    {
      "countryCode": 8673,
      "countryName": "Russian Federation",
      "medals": {
      "gold" : 13,
      "silver" : 11,
      "bronze" : 9,
      "total" : 33
    }
    }
  ]
}

到目前为止,我能算出的规格是

[
  {
    "operation": "shift",
    "spec": {
      "apiResults": {
        "*": {
          "league": {
            "medals": {
              "*": {
                "olympicCountry": {
                  "countryId": "data.countryCode",
                  "name": "data.countryName"
                },
                "medalCount": "data.medals"
              }
            }
          }
        }
      }
    }
  }
]

这个规格足够接近,但不够准确。它生成

{
  "data" : {
    "countryCode" : [ 1000, 8673 ],
    "countryName" : [ "Russian Federation", "Russian Federation" ],
    "medals" : [ {
      "gold" : 13,
      "silver" : 11,
      "bronze" : 9,
      "total" : 33
    }, {
      "gold" : 13,
      "silver" : 11,
      "bronze" : 9,
      "total" : 33
    } ]
  }
}

任何提示都将不胜感激。

共有1个答案

乜思淼
2023-03-14

规格

[
  {
    "operation": "shift",
    "spec": {
      "apiResults": {
        "*": {
          "league": {
            "medals": {
              "*": {
                "olympicCountry": {
                  "countryId": "data[&2].countryCode",
                  "name": "data[&2].countryName"
                },
                "medalCount": "data[&1].medals"
              }
            }
          }
        }
      }
    }
  }
]
 类似资料:
  • 当调用外部API时,我收到了一个复杂的json结构,我需要根据我们的需要将其转换为简单的json。我发现jolt具有转换json的能力,但无法提出jolt规范。 我的输入Json数组—— 我的输出 Json 结构应该看起来像 - 我尝试了多种jolt规格,但无法得到想要的输出。这种情况下最理想的jolt规格应该是什么?

  • 如果这是重复的,我想提前向您道歉,但是,我在过去的两天里一直在四处寻找,没有找到任何解决我问题的方法。 我已经创建了一个web服务,我想向其发布一个JSON对象。我的问题如下: 假设我有三个对象。 如您所见,ObjectC引用了ObjectA和ObjectB,它们也引用了ObjectA。插入新ObjectC时,ObjectC. ObjtA应该与ObjectC. ObjtB. ObjtA相同。 PO

  • 我需要Jolt转换的帮助。我有数组,由许多json对象组成。(https://jolt-demo.appspot.com/) Jolt需要进行哪些转换才能获得以下结果? 现在我有了下一个Jolt构造: 但以下结果不正确:

  • 本文向大家介绍springMVC返回复杂的json格式数据方法,包括了springMVC返回复杂的json格式数据方法的使用技巧和注意事项,需要的朋友参考一下 一、springMVC返回json格式数据常用的写法是使用@ResponseBody注解,在每一个方法前加上这个注解,springMVC的json解析机制会自动把返回值(Object类型的对象)转换为json格式的数据,如果返回的json对

  • 我最近刚开始使用API和http请求,我正试图构建一个应用程序,使用Reddit API在特定的子编辑上拉帖子。 这是我正在练习的带有json和搜索参数的页面:https://www.reddit.com/r/hiphopheads.json?limit=1 查看Golang的JSON模块的标准库,我仍然不知道如何使用JSON。解组此复杂JSON。根据我收集到的信息,我必须定义一个类似于JSON结

  • 本文向大家介绍StackExchange.Redis 复杂数据(Protobuf),包括了StackExchange.Redis 复杂数据(Protobuf)的使用技巧和注意事项,需要的朋友参考一下 示例 StackExchange.Redis还支持通过pub / sub通道发送字节,这里我们使用protobuf-net将消息序列化为字节数组,然后再发送: 订户再次需要在收到消息后反序列化消息: