From eafc1a1e56aa14de65aa8a51b03ccc658d10ea14 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 16 Sep 2026 20:24:17 +0200 Subject: [PATCH] Ensure jpath returns a string array --- app/src/main/java/eu/faircode/email/ExpressionHelper.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/ExpressionHelper.java b/app/src/main/java/eu/faircode/email/ExpressionHelper.java index b09d83d420..e06fa9b0ba 100644 --- a/app/src/main/java/eu/faircode/email/ExpressionHelper.java +++ b/app/src/main/java/eu/faircode/email/ExpressionHelper.java @@ -37,7 +37,9 @@ import com.ezylang.evalex.operators.InfixOperator; import com.ezylang.evalex.parser.ASTNode; import com.ezylang.evalex.parser.ParseException; import com.ezylang.evalex.parser.Token; +import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; +import com.jayway.jsonpath.Option; import org.json.JSONException; import org.json.JSONObject; @@ -705,11 +707,15 @@ public class ExpressionHelper { String path = operands[1].getStringValue(); + Configuration jconfig = Configuration.defaultConfiguration() + .addOptions(Option.ALWAYS_RETURN_LIST); if (array != null && !array.isEmpty() && !TextUtils.isEmpty(path)) for (EvaluationValue item : array) { String value = item.getStringValue(); if (!TextUtils.isEmpty(value)) { - result = JsonPath.read(value, path); + result = JsonPath.using(jconfig) + .parse(value) + .read(path); break; } }