Я использую верблюда в контексте отдыха, и мне нужно манипулировать json, полученным из запроса. Это что-то вроде:
{
'field1':'abc',
'field2':'def'
}
Все, что мне нужно сделать, это извлечь field1 и field2 и поместить их в 2 свойства, поэтому я попробовал что-то подобное
<setProperty propertyName="Field1">
<jsonpath>$.field1</jsonpath>
</setProperty>
<setProperty propertyName="Field2">
<jsonpath>$.field2</jsonpath>
</setProperty>
но я получаю эту ошибку:
org.apache.camel.ExpressionEvaluationException:
com.jayway.jsonpath.PathNotFoundException: Expected to find an object with property ['field2'] in path $ but found 'java.lang.String'. This is not a json object according to the JsonProvider: 'com.jayway.jsonpath.spi.json.JsonSmartJsonProvider'.
и после некоторых испытаний я обнаружил, что мое тело было пустым после первого использования jsonpath.
Тот же процесс, примененный к XML с использованием xpath, не дает никакой ошибки, и мне интересно, можно ли сделать то же самое с jsonpath вместо того, чтобы создать объект mapper в java. заранее спасибо