@Override public void serialize(JsonArray value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeObject(value.getList()); } }
public static List<Object> fromJsonArray(JsonArray json) { if (json == null) { return null; } List<Object> list = new ArrayList<>(json.getList()); for (int i = 0;i < list.size();i++) { list.set(i, fromObject(list.get(i))); } return list; } }
static boolean equals(Object o1, Object o2) { if (o1 == o2) return true; if (o1 instanceof JsonObject) { return objectEquals(((JsonObject) o1).map, o2); } if (o1 instanceof Map<?, ?>) { return objectEquals((Map<?, ?>) o1, o2); } if (o1 instanceof JsonArray) { return JsonArray.arrayEquals(((JsonArray) o1).getList(), o2); } if (o1 instanceof List<?>) { return JsonArray.arrayEquals((List<?>) o1, o2); } if (o1 instanceof Number && o2 instanceof Number && o1.getClass() != o2.getClass()) { Number n1 = (Number) o1; Number n2 = (Number) o2; if (o1 instanceof Float || o1 instanceof Double || o2 instanceof Float || o2 instanceof Double) { return n1.doubleValue() == n2.doubleValue(); } else { return n1.longValue() == n2.longValue(); } } return o1.equals(o2); }
/** * Initialise the fields of this instance from the specified JSON * * @param json the JSON */ public void fromJson(JsonObject json) { this.config = json.getJsonObject("config"); this.worker = json.getBoolean("worker", DEFAULT_WORKER); this.isolationGroup = json.getString("isolationGroup", DEFAULT_ISOLATION_GROUP); this.ha = json.getBoolean("ha", DEFAULT_HA); JsonArray arr = json.getJsonArray("extraClasspath", null); if (arr != null) { this.extraClasspath = arr.getList(); } this.instances = json.getInteger("instances", DEFAULT_INSTANCES); JsonArray arrIsolated = json.getJsonArray("isolatedClasses", null); if (arrIsolated != null) { this.isolatedClasses = arrIsolated.getList(); } }
@Test public void testCreateFromListNestedList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); List<Object> list2 = new ArrayList<>(); list2.add("blah"); list2.add("wibble"); list.add(list2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); JsonArray arr2 = arr.getJsonArray(2); assertSame(list2, arr2.getList()); }
@Test public void testCreateFromList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); }
@Test public void testCreateFromListCharSequence() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); list.add(new StringBuilder("eek")); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals("eek", arr.getString(2)); assertSame(list, arr.getList()); }
@Test public void testCreateFromListNestedJsonObject() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonObject obj = new JsonObject().put("blah", "wibble"); list.add(obj); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); assertSame(obj, arr.getJsonObject(2)); }
@Test public void testCreateFromListNestedMap() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); Map<String, Object> map = new HashMap<>(); map.put("blah", "wibble"); list.add(map); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); JsonObject obj = arr.getJsonObject(2); assertSame(map, obj.getMap()); }
@Test public void testCreateFromListNestedJsonArray() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr2 = new JsonArray().add("blah").add("wibble"); list.add(arr2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); assertSame(arr2, arr.getJsonArray(2)); }
@Test public void testGetList() { JsonObject obj = new JsonObject().put("quux", "wibble"); jsonArray.add("foo").add(123).add(obj); List<Object> list = jsonArray.getList(); list.remove("foo"); assertFalse(jsonArray.contains("foo")); list.add("floob"); assertTrue(jsonArray.contains("floob")); assertSame(obj, list.get(1)); obj.remove("quux"); }
@Override public void serialize(JsonArray value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeObject(value.getList()); } }
public static List<Object> fromJsonArray(JsonArray json) { if (json == null) { return null; } List<Object> list = new ArrayList<>(json.getList()); for (int i = 0;i < list.size();i++) { list.set(i, fromObject(list.get(i))); } return list; } }
@Test public void testCreateFromList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); }
@Test public void testCreateFromListNestedList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); List<Object> list2 = new ArrayList<>(); list2.add("blah"); list2.add("wibble"); list.add(list2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); JsonArray arr2 = arr.getJsonArray(2); assertSame(list2, arr2.getList()); }
@Test public void testCreateFromListCharSequence() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); list.add(new StringBuilder("eek")); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals("eek", arr.getString(2)); assertSame(list, arr.getList()); }
@Test public void testCreateFromListNestedJsonObject() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonObject obj = new JsonObject().put("blah", "wibble"); list.add(obj); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); assertSame(obj, arr.getJsonObject(2)); }
@Test public void testCreateFromListNestedMap() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); Map<String, Object> map = new HashMap<>(); map.put("blah", "wibble"); list.add(map); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); JsonObject obj = arr.getJsonObject(2); assertSame(map, obj.getMap()); }
@Test public void testCreateFromListNestedJsonArray() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr2 = new JsonArray().add("blah").add("wibble"); list.add(arr2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.getList()); assertSame(arr2, arr.getJsonArray(2)); }
@Test public void testGetList() { JsonObject obj = new JsonObject().put("quux", "wibble"); jsonArray.add("foo").add(123).add(obj); List<Object> list = jsonArray.getList(); list.remove("foo"); assertFalse(jsonArray.contains("foo")); list.add("floob"); assertTrue(jsonArray.contains("floob")); assertSame(obj, list.get(1)); obj.remove("quux"); }