user10105328
user10105328

Reputation:

Jolt spec file multiple array of element

I am trying to write a jolt transformation for the input below: Input

  [{
   "factValues": [
            {
                uniqeid:"1",
                "values":"1234567"
            },
            {
                uniqeid:"1",
                "teams":"abcde"

            }]
},{
   "factValues": [
            {
                uniqeid:"2",
            "values":"6758595"
            },
            {
                uniqeid:"2",
                "teams":"medrgeh"

            }]
}

]

Excepted Output.

        {
"factValues": [{
                uniqeid:"1",
                "values":'1234567',
                "teams":'76599876'
},
{
            uniqeid:"2",
            "values":'6758595',
            "teams":'medrgeh'

}

]
}

Kindly help me to achieve the expected output.json in spec.json. The spec is not transforming as expected output. I want learn how to use attributes inside the string parser

Upvotes: 0

Views: 557

Answers (1)

Jagadesh
Jagadesh

Reputation: 2116

Shifted all the values to the factValues. Then selected the first element from the uniqueid array,

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "*": {
            "uniqeid": "factValues.[&3].uniqeid",
            "values": "factValues.[&3].values",
            "teams": "factValues.[&3].teams"
          }
        }
      }
    }
  }, {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "*": {
          "uniqeid": "=firstElement(@(1,uniqeid))"
        }
      }
    }
}
]

Upvotes: 1

Related Questions