From fcfd849e8355adf2e98b7766814b1f982b14f856 Mon Sep 17 00:00:00 2001 From: jochenberger Date: Thu, 23 Mar 2017 14:54:23 +0100 Subject: [PATCH 1/2] Fix JSON detection --- .../java/com/jayway/jsonpath/internal/filter/ValueNode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java index 98e2d1c4..3f3914e4 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java @@ -154,7 +154,7 @@ public abstract class ValueNode { if ((c0 == '[' && c1 == ']') || (c0 == '{' && c1 == '}')){ try { Configuration.defaultConfiguration().jsonProvider().parse(str); - return false; + return true; } catch(Exception e){ return false; } From 3b6a662c9b65d93300f0e1bcec3a08dcb6245912 Mon Sep 17 00:00:00 2001 From: jochenberger Date: Thu, 23 Mar 2017 15:18:39 +0100 Subject: [PATCH 2/2] Add test --- .../src/test/java/com/jayway/jsonpath/FilterTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java b/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java index 58493a35..a9c02e76 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java +++ b/json-path/src/test/java/com/jayway/jsonpath/FilterTest.java @@ -89,6 +89,13 @@ public class FilterTest extends BaseTest { assertThat(filter(where("string-key").eq(null)).apply(createPredicateContext(json))).isEqualTo(false); } + @Test + public void arr_eq_evals() { + assertThat(filter(where("arr-empty").eq("[]")).apply(createPredicateContext(json))).isEqualTo(true); + assertThat(filter(where("int-arr").eq("[0,1,2,3,4]")).apply(createPredicateContext(json))).isEqualTo(true); + assertThat(filter(where("int-arr").eq("[0,1,2,3]")).apply(createPredicateContext(json))).isEqualTo(false); + assertThat(filter(where("int-arr").eq("[0,1,2,3,4,5]")).apply(createPredicateContext(json))).isEqualTo(false); + } //---------------------------------------------------------------------------- // // NE