From f76d556fb639f4c379bee2e9cdfc99580b7cb251 Mon Sep 17 00:00:00 2001 From: Matt Greenwood Date: Sun, 28 Jun 2015 14:05:33 -0400 Subject: [PATCH] changed JSONArray -> interface Collection to catch all use-cases --- .../com/jayway/jsonpath/internal/function/Length.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/function/Length.java b/json-path/src/main/java/com/jayway/jsonpath/internal/function/Length.java index 1137049c..2831d4ef 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/function/Length.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/function/Length.java @@ -5,9 +5,7 @@ import com.jayway.jsonpath.internal.EvaluationContext; import com.jayway.jsonpath.internal.PathRef; import net.minidev.json.JSONArray; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; +import java.util.*; /** * Provides the length of a JSONArray Object @@ -18,9 +16,8 @@ public class Length implements Function { @Override public Object invoke(String currentPath, PathRef parent, Object model, EvaluationContext ctx) { - if (model instanceof JSONArray) { - JSONArray array = (JSONArray)model; - return Integer.valueOf(array.size()); + if (model instanceof Collection) { + return Integer.valueOf(((Collection) model).size()); } else if (model instanceof Map) { return Integer.valueOf(((Map) model).size());