Извлечение максимальной / самой ранней даты из сообщения JSON в dataweave 2.0 - PullRequest
0 голосов
/ 13 марта 2019

Структура моего сообщения:

{
    "empid": "abc",
    "homeCountry": "IND",
    "dateOfBirth": "1969-01-01",
    "personalInformation": [
        {
            "salutation": "Mr",
            "firstName": "Ram",
            "lastName": "Naresh"
        }
    ],
    "EmpInfo": [
        {
            "hireDate": "2000-01-01",
            "LevDate": "2018-07-25",
            "jobInformation": [
                {
                    "isFullTimeEmployee": true,
                    "jobTitle": "Engineer",
                    "effectiveStartDate": "2018-01-05"
                },
                {
                    "isFullTimeEmployee": true,
                    "jobTitle": "Store Manager",
                    "effectiveStartDate": "2019-01-05"
                }
            ]
        }
    ]
}

Я хотел бы извлечь максимальную дату и индекс того же самого, чтобы я мог объявить его как var и использовать его в отображении.

1 Ответ

1 голос
/ 13 марта 2019

Ваш вопрос недостаточно ясен. Какое поле даты вы хотите использовать? Здесь я создал решение, которое возвращает индекс и значение jobInformation с самым старым effectiveStartDate

payload.EmpInfo[0].jobInformation 
    map ((item, index) -> {value: item, index: index}) 
    maxBy ((item) -> item.value.effectiveStartDate as Date)
...