json - JOLT 获取带有动态键的数组

标签 json jolt

我正在尝试从网络服务获取一些消息。内部数据的键是动态的,我试图从数组中获取所有消息并将它们连接到错误消息中。

{
  "success": false,
  "message": "Eroare validare date",
  "data": {
    "driver.0.name": [
      "Trebuie să menționați nume/denumire pentru șofer"
    ],
    "driver.1.name": [
      "Trebuie să menționați nume/denumire pentru șofer"
    ],
    "driver.1tin": [
      "CNP/CUI invalid pentru șofer"
    ],
    "vehicle.card": [
      "Serie CIV invalidă pentru vehiculul asigurat"
    ]
  }
}

我写了这个规范:

[
  {
    "operation": "shift",
    "spec": {
      "message": "body.info_message",
      "data": {
        "*": {
          "*": {
            "#1": "body.error_message"
          }
        }
      }
    }
  }

但我不知道如何定位消息

最佳答案

您可以连续使用shift,然后修改转换以及join函数,例如

[
  {
    "operation": "shift",
    "spec": {
      "message": "body.info_message", // changed the key name
      "data": {
        "*": {
          "*": "body.error_message" // combine whole content nested within a single array
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "error_message": "=join(' | ',@(1,&))"
      }
    }
  }
]

为了生成错误消息的管道分隔内容,例如

{
  "body" : {
    "info_message" : "Eroare validare date",
    "error_message" : "Trebuie s? men?iona?i nume/denumire pentru ?ofer | Trebuie s? men?iona?i nume/denumire pentru ?ofer | CNP/CUI invalid pentru ?ofer | Serie CIV invalid? pentru vehiculul asigurat"
  }
}

关于json - JOLT 获取带有动态键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74950490/

相关文章:

java - 如何将json中的字符串转换为json对象

transformation - 如何对摇动中的小数值进行四舍五入?

json - Jolt:小数转字符串

java - Jolt 转换 JSON 数组保留其余字段

java - 使用 JOLT 转换具有嵌套数组对象的对象数组

python - 如何在 JSON 文件中附加字典,同时保持正确的 JSON 格式

java - 将 hibernate 实体转换为 JSON : oblectId instead of whole object

php - 从 RecursiveDirectoryIterator 中过滤目录

Python JSON 模块没有属性 'dumps'

php - 读取由 PHP 生成的包含 @attributes 的 JSON(使用 jQuery)