Разделение массива Json с помощью Camel

У меня есть верблюжий маршрут, который принимает объект String из json, вызывает bean-компонент, чтобы вырезать JSONArray игроков.

from("direct:players").routeId("player_route")
    .bean(BootstrapStaticParser.class,"getPlayersList")
    .split(body())
    .to("direct:aws");

Однако после того, как я позвоню:

.split(body())

Какими должны быть строки json в LinkedHashMap, но мне нужно поддерживать формат json для вставки данных в AWS DDB.

Ведение журнала, чтобы показать проблему

Перед

Exchange[ExchangePattern: InOnly, BodyType: net.minidev.json.JSONArray, Body: [{"id":1,"photo":"48844.jpg","web_name":"Player1","team_code":3},{"id":2,"photo":"11334.jpg","web_name":"Player2","team_code":3},{"id":3,"photo":"98980.jpg","web_name":"Player3","team_code":3},{"id":4,"photo":"51507.jpg","web_name":"Player4","team_code":3},...]

После

Exchange[ExchangePattern: InOnly, BodyType: java.util.LinkedHashMap, Body: {id=1, photo=48844.jpg, player=Player1, team_code=3}]

Любая помощь будет оценена по достоинству.

не могли бы вы рассказать подробнее?

Themis Pyrgiotis 01.07.2018 23:08
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
1
1 484
1

Ответы 1

Согласно документация Camel Jsonpath телом сообщения разделенной части документа JSON является карта.

Однако в нем говорится, что с Верблюд 2.20 или новее вы можете использовать jsonpathWriteAsString для получения строки JSON вместо Map.

.split().jsonpathWriteAsString("$.yourJsonPath")

Для более ранние версии Camel вы должны использовать Формат данных Camel JSON для маршалинга тела сообщения с карты в строку JSON.

Другие вопросы по теме