Search code examples
jsonfunctionlineapache-nifijolt

Nifi - ignore(or remove) the first digit of JSON


I have a JSON with a variable that I need to ignore the first digit.

{
  "destinatarioDTO" : {
    "cnpj" : "01377071000170"
  }
}

I got the variable with the EvaluateJsonPath.

I need to transform the result 01377071000170 into 1377071000170 (remove the first digit).


Solution

  • You can add a JoltTransformJSON processor along with the following spec

    [
      {
        "operation": "modify-overwrite-beta",
        "spec": {
          "destinatarioDTO": {
            "len_cnpj": "=size(@(1,cnpj))",
            "cnpj": "=substring(@(1,cnpj),1,@(1,len_cnpj))" // extract the value starting from the second character(one with the index 1) till the end of the string
          }
        }
      },
      {
        "operation": "remove",
        "spec": {
          "destinatarioDTO": {
            "len_cnpj": "" // get rid of newly generated, auxiliary attribute
          }
        }
      }
    ]