Created 04-16-2024 12:59 PM
The feed json is like below:
[
  {
    "orderId": "10000",
    "orderItems": [
      {
        "orderItemSeqId": "10001",
        "productIdentifications": [
          {
            "productIdentificationTypeId": "SKU",
            "idValue": "98706"
          },
          {
            "productIdentificationTypeId": "UPCA",
            "idValue": "98788"
          },
          {
            "productIdentificationTypeId": "HS_CODE",
            "idValue": "98790"
          }
        ]
      },
      {
        "orderItemSeqId": "10002",
        "productIdentifications": [
          {
            "productIdentificationTypeId": "SKU",
            "idValue": "98690"
          },
          {
            "productIdentificationTypeId": "UPCA",
            "idValue": "98698"
          },
          {
            "productIdentificationTypeId": "HS_CODE",
            "idValue": "98999"
          }
        ]
      }
    ]
  }
]Requirement- Prepare two new fields for each item of an order.
1. Style: idValue of productIdentification whose productIdentificationTypeId is SKU.
2. UPC: idValue of productIdentification whose productIdentificationTypeId is UPCA.
The output json should be
[
  {
    "orderId": "10000",
    "orderItems": [
      {
        "orderItemSeqId": "10001",
        "productIdentifications": [
          {
            "productIdentificationTypeId": "SKU",
            "idValue": "98706"
          },
          {
            "productIdentificationTypeId": "UPCA",
            "idValue": "98788"
          },
          {
            "productIdentificationTypeId": "HS_CODE",
            "idValue": "98790"
          }
        ],
        "Style": "98706",
        "UPC": "98788"
      },
      {
        "orderItemSeqId": "10002",
        "productIdentifications": [
          {
            "productIdentificationTypeId": "SKU",
            "idValue": "98690"
          },
          {
            "productIdentificationTypeId": "UPCA",
            "idValue": "98698"
          },
          {
            "productIdentificationTypeId": "HS_CODE",
            "idValue": "98999"
          }
        ],
        "Style": "98690",
        "UPC": "98698"
      }
    ]
  }
]
Tried this property in UpdateRecord using RecordPath language but it didn't work.
name: "/orderItems[*]/Style"
value: "/orderItems[*]/goodIdentifications[./goodIdentificationTypeId='SKU']/idValue"
Created 04-16-2024 01:43 PM
@nidhipal Welcome to the Cloudera Community!
To help you get the best possible solution, I have tagged our NiFi experts @SAMSAL @joseomjr  who may be able to assist you further.
Please keep us updated on your post, and we hope you find a satisfactory solution to your query.
Regards,
Diana Torres,Created 04-17-2024 03:23 AM
Hi @nidhipal 
Looks like you figured this out here, https://community.cloudera.com/t5/Support-Questions/Possible-RecordPath-to-fetch-data-from-a-list-ba...
The added RecordPath works.
 ../goodIdentifications[*][./goodIdentificationTypeId = "SKU"]/idValue
Thank you!