Я пытаюсь получить доступ к данным во входящем теле моего входящего Json. Я выполнил демаршалинг с Джексоном и сопоставил его с картой Java с помощью
`.unmarshal().json(JsonLibrary.Jackson, java.util.Map.class)
`
Мои данные Json выглядят примерно так после демаршального шага выше
`{ "projectId" : 12345,
"title" : “12345 - Plant 1 Processing",
"partners": [{"partnerName": "partnerJV1", "partnerLocation": "JA"},
{"partnerName": "partnerJV2", "partnerLocation": "FL"},
{"partnerName": "partnerJV3", "partnerLocation": "OH"}
]`
Последняя часть может иметь 0-N номеров partnerName, partnerLocation map в Списке партнеров.
Теперь мне нужно вставить эти данные в таблицу SQL с
.to("sql:classpath:sql/sql_queries.sql")
Мой sql_queries.sql содержит следующий запрос для вставки полей данных в таблицу:
`INSERT INTO MY_TABLE(PID, TITLE, PartnerName1, PartnerLocation1, PartnerName2, PartnerLocation2, PartnerName3, PartnerLocation3) VALUES(:#${body['projectId']}, :#${body['title']}, :#${body['partners[0]']['partnerName']}, :#${body['partners[0]']['partnerLocation']} )'
Я не могу понять синтаксис для последней части, которая является списком карт. Если это должно быть
`:#${body['partners[0]']['partnerName']}`
или что-то еще для того, чтобы я получил это значение.
Любые подсказки помогут, спасибо!