在我的Apache Camel应用程序中,我有多个条件来检查JSON中是否存在键。我想减少锅炉板代码,因此我需要将我的Expression
转换为Predicate
。
我的代码与Expression
s:
.choice()
.when().jsonpath("$.score", true).to("direct:b")
.when().jsonpath("$.points", true).to("direct:b")
.otherwise().to("direct:c");
另请参阅:JSONPATH
我的代码与Predicate
s:
.choice()
.when(PredicateBuilder.or(jsonpath("$.score", true), jsonpath("$.points", true))).to("direct:b")
.otherwise().to("direct:c");
另请参阅:PREDICATES
但这是行不通的,因为没有suppressExceptions
参数(请参阅BuilderSupport#jsonpath
)。不幸的是,也没有exists
方法(请参阅ValueBuilder
)。
如何编写一个Predicate
来检查JSON中是否存在键?
1条答案
按热度按时间k4aesqcs1#
这段代码解决了您问题。