我遇到的情况是,我试图获取一些简单的json输入,并提供一些API摄取所需的上下文信息.在下面的示例中,我试图将一些硬编码密钥添加到数组中.

我已经搜索了很多次,但还没有看到有人问这个具体的问题.

JSON输入

{
  "hostname": "computername",
  "user": "DOMAIN\\User",
  "full_name": "lastname firstname",
  "login_name": "DOMAIN\\User",
  "user_email": "user@email.com"
}

预期结果:

{
  "entities": [
    {
      "role": "hostname",
      "entities": [
        "computername"
      ]
    },
    {
      "role": "user",
      "entities": [
        "DOMAIN\\User"
      ]
    },
    {
      "role": "full_name",
      "entities": [
        "lastname firstname"
      ]
    },
    {
      "role": "login_name",
      "entities": [
        "DOMAIN\\User"
      ]
    }
  ],
  "user_email": "user@email.com"
}

任何帮助都将不胜感激!

推荐答案

可以使用"$"个wilcard来派生密钥名,使用"@"个wilcard来派生嵌套在shift转换的公共对象表示中的各个属性的值,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "&.role",
        "@": "&.entities[]"
      },
      "user_*": "&"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "entities",
      "user_*": "&"
    }
  }
]

网站http://jolt-demo.appspot.com/上的101

enter image description here

Json相关问答推荐

如何在VegaLite中应用Times New Roman,CaliBiri字体

使用Jolt v.0.1.1向每个json元素添加一个键-值对

如何将响应数据保存到Flutter 中的共享首选项中

Jolt - 如何比较 if else 条件的两个值

在 PowerShell 中通过 aws cli 创建 cloudwatch alert 时出现字符串解析错误

JOLT分裂和数组数据

jq :当路径可变时更新 json 内容

在这种情况下我如何实现 UnmarshalJSON 并且只为一个接口字段定义特殊行为?

在 PostgreSQL 中 Select 分层 JSON 作为表

如何使用 jackson 反序列化为 Kotlin 集合

如何一次加载无限滚动中的所有条目以解析python中的HTML

使用 @ResponseBody 自定义 HttpMessageConverter 来做 Json 事情

在 Rails 中使用 JSON 创建嵌套对象

关于使用 $ref 的 JSON 模式

杰克逊:反序列化 for each 值都具有正确类型的 Map

如何在 JAVA 中对 JSONArray 进行排序

使用 JSONArray 和 JSONObject 进行 Foreach

log4j 支持 JSON 格式吗?

将对象序列化为 JSON 时循环引用检测到异常

IE9 JSON 数据你要打开还是保存这个文件