синтаксический анализ массива объектов в формате JSON и преобразование его в плоский JSON с использованием преобразования JOLT

#arrays #json #jolt

#массивы #json #jolt

Вопрос:

Мой ввод выглядит следующим образом;

 {
  "family": [
    {
      "person": {
        "personId": {
          "value": "12345"
        },
        "employeeAuthCd": {
          "code": "AUTH_12345"
        },
        "employeeTypeCd": {
          "code": "cd"
        },
        "status": {
          "code": "New"
        }
      }
    }
  ]
}
 

Желаемый результат

 {
  "Person_ID":"12345",
  "employeeAuthCd":"AUTH_1345",
  "employeeTypeCd":"cd",
  "status":"New"
}
 

Может ли кто-нибудь помочь мне с Jolt spec , я перепробовал много возможных спецификаций, но не смог достичь желаемого результата, как указано выше, JSON иметь несколько массивов объектов, которые мне нужны, чтобы преобразовать их в плоские JSON

Ответ №1:

Эта спецификация должна работать для вас:

 [
  {
    "operation": "shift",
    "spec": {
      "family": {
        "*": {
          "person": {
            "personId": {
              "value": "Person_ID"
            },
            "employeeAuthCd": {
              "code": "employeeAuthCd"
            },
            "employeeTypeCd": {
              "code": "employeeTypeCd"
            },
            "status": {
              "code": "status"
            }
          }
        }
      }
    }
  }
]