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

Jolt获取键值对数组中键等于主机的值

龙俊良
2023-03-14

我的 json 对象中有一个键值对数组,需要根据键等于主机拉出一个设置值。

{
 "pairs" : [ {
          "key" : "Host",
          "value" : "site-a"
        }, {
          "key" : "User",
          "value" : "user42"
        }
}

我无法基于位置进行匹配,因为它可能位于成对数组中的任何位置,而且数组的大小可能会有所不同。

我当前的 Jolt 规格看起来像,但它只是列出了每对:

[
  {
    "operation": "shift",
    "spec": {
      "requestHeaderFields": {
        "*": {
          "value": "@(1,key)"
        }
      }
    }
  }
]

当前输出为:

{
  "Host" : "site-a",
  "User-Agent" : "user42"
}

我希望的输出如下,注意到字段名称的更改:

{
  "HostSite" : "site-a",
}

我想知道我是否需要先做一个修改-覆盖-测试操作,然后再进行一次转换?

共有1个答案

齐思淼
2023-03-14

这一颠簸会起作用的。其思想是检查key何时具有主机值,然后检索值:

[
  {
    "operation": "shift",
    "spec": {
      "pairs": {
        "*": {
          "key": {
            "Host": {
              "@(2,value)": "HostSite"
            }
          }
        }
      }
    }
  }
]
 类似资料:
  • 目前我有以下输入json。我想提取值为attrs.name = Details的对象,并将其附加到输出json中(在attrs数组之外)。目前,虽然我能够将它附加到输出JSON中,但我仍然在attrs中得到该对象的副本。我想要这个副本被删除。 输入 JSON : 属性。name=“详细信息”可以在attrs中按任意顺序排列 输出量的希望值 电流输出 使用的颠簸规格 有没有办法删除仍在 attrs

  • 我有一个如下面示例所示的Json主体。我需要从一个键中提取值,该键在数组中有另一个具有特定值的键。我在传递一个JSONode,其中包含消息的细节组件中的所有内容,我可以很容易地从每个级别提取,但是,我在处理数组时遇到了困难。 在本例中,我需要从数组中的对象中提取值“value”(警察/消防/事故报告),该对象具有一个键/值对“name”:“documenttitle”。我知道这是一个JSONArr

  • 问题内容: 我有以下数组: 结果: 现在如何显示具有重复值的键?在此函数不应返回([0],[9]),因为没有重复的值。 如何找到相同值的键,例如 对于“ 2011-06-25”,应返回[7],[8] 问题答案: 函数名称显然很长;) 现在$ dups将包含一个由重复值键控的多维数组,其中包含每个重复项的键,如果您将“ true”作为第二个参数发送,它将返回没有重复值的原始数组。 或者,您可以将原始

  • 我有一个数组如下所示: 我需要找出的索引,以便能够循环访问并返回键字符串的索引。我怎么能那样做?

  • 问题内容: 我有一个数组如下: 我需要找出的索引,以便能够遍历并通过其索引返回键字符串。我怎样才能做到这一点? 问题答案: 如果您有一个值并想找到该键,请按以下方式使用: 现在将包含值的键(即)。

  • 问题内容: 我想以jQuery或纯JavaScript的形式获取JavaScript对象的键作为数组。 有没有比这更详细的方法? 问题答案: 用途: 这是ES5的功能。这意味着它可以在所有现代浏览器中使用,但不能在旧版浏览器中使用。 ES5-shim有一个实现可以偷