我使用以下代码获取状态代码。
String statusCode = ((Map<String,String>) product.getStatus().get("abc")).get("code");
我想使用jexl表达式获取值。
JexlEngine jexlEngine = new JexlEngine();
Expression expression = jexlEngine.createExpression("((Map<String,String>) product.getStatus().get(\"abc\")).get(\"description\")");
JexlContext jexlContext = new MapContext();
jexlContext.set("product", product);
String statusCode = expression.evaluate(jexlContext);
我在&#39; createExpression&#39;处获得了org.apache.commons.jexl2.parser.ParseException。如何创建jexl表达式以获取statusCode。
答案 0 :(得分:0)
使用Jexl 3.0可以实现:
JexlExpression expression = jexlEngine.createExpression("product.status[\"abc\"][\"description\"]");