return new DynamicConfigProperty(json.toString(), expressions, context);
} else if (json instanceof JSONArray) {
JSONArray jsonArray = (JSONArray) json;
List<Object> values = new ArrayList<Object>(jsonArray.length());
for (int i = 0, j = jsonArray.length(); i < j; ++i) {
values.add(jsonToConfig(jsonArray.opt(i), expressions, context));
}
return Collections.unmodifiableList(values);
} else if (json instanceof JSONObject) {
return jsonToMap((JSONObject) json, expressions, context);
}