第 189 章 JsonPath Language
从 Camel 版本 2.13 开始提供
Camel 支持 JSonPath 允许在 json 消息上使用 Expression 或 Predicate。
from("queue:books.new") .choice() .when().jsonpath("$.store.book[?(@.price < 10)]") .to("jms:queue:book.cheap") .when().jsonpath("$.store.book[?(@.price < 30)]") .to("jms:queue:book.average") .otherwise() .to("jms:queue:book.expensive")
189.1. jsonpath 选项
JsonPath 语言支持 7 个选项,如下所列。
名称 | 默认值 | Java 类型 | 描述 |
---|---|---|---|
resultType |
| 设置结果类型的类名称(输出中的类型) | |
suppressExceptions |
|
| 是否阻止异常,如 PathNotFoundException。 |
allowSimple |
|
| 是否允许在 JsonPath 表达式中内联简单异常 |
allowEasyPredicate |
|
| 是否允许使用 easy predicate 解析器来预解析 predicates。 |
writeAsString |
|
| 是否将每行/元素的输出写入为 JSON String 值,而不是映射/POJO 值。 |
headerName |
| 用作输入的标头名称,而不是消息正文 | |
trim |
|
| 是否修剪值以移除前导和结尾的空格和换行符 |