public Optional<JsonElement> maybeGet(int index) { if(index>=size()) { // prevent index out of bounds exception return Optional.empty(); } return Optional.ofNullable(get(index)); }
public JsonArrayAssert isNotEmpty() { if(actual.size() == 0) { failWithMessage("expected array is not empty"); } return this; }
@Override public boolean isEmpty() { boolean empty = true; if(size() > 0) { for (JsonElement element : this) { empty = empty && element.isEmpty(); if(!empty) { return false; } } } return empty; }
public JsonElement last() { return get(size()-1); }
public static @Nonnull double[][][][] fromJsonJMultiPolygon(@Nonnull JsonArray multiPolygon) { double[][][][] result = new double[multiPolygon.size()][0][0][0]; int i=0; for(JsonElement e: multiPolygon) { result[i]=fromJsonJPolygon(e.asArray()); i++; } return result; }
public static @Nonnull double[][][] fromJsonJPolygon(@Nonnull JsonArray polygon) { double[][][] result = new double[polygon.size()][0][0]; int i=0; for(JsonElement e: polygon) { result[i]=fromJsonJLineString(e.asArray()); i++; } return result; }
/** * Convert json array of arrays of double primitives to a double[][]. * @param lineString 2d JsonArray of doubles * @return a double[][] 2d array of doubles */ public static @Nonnull double[][] fromJsonJLineString(@Nonnull JsonArray lineString) { double[][] result = new double[lineString.size()][lineString.get(0).asArray().size()]; for(int i =0; i<lineString.size();i++) { JsonArray subArray = lineString.get(i).asArray(); for(int j =0; j<subArray.size();j++) { result[i][j] = subArray.get(j).asPrimitive().asDouble(); } } return result; }
public String[] asStringArray() { String[] result = new String[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asString(); } return result; }
public int[] asIntArray() { int[] result = new int[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asInt(); } return result; }
public double[] asDoubleArray() { double[] result = new double[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asDouble(); } return result; }
public void shouldAddElementsToArray() { assertThat(array(Arrays.asList(1,2,3)).size(), is(3)); assertThat(array(new Integer[]{1,2,3}).size(), is(3)); assertThat(array(new int[]{1,2,3}).size(), is(3)); assertThat(array(new long[]{1,2,3}).size(), is(3)); assertThat(array(new float[]{1,2,3}).size(), is(3)); assertThat(array(new double[]{1,2,3}).size(), is(3)); }
public void shouldStreamAndCollectObjectsIntoArray() { Object[] os = new Object[] {"", 1, null}; Spliterator<Object> spliterator = Spliterators.spliterator(os, Spliterator.ORDERED); JsonArray array = StreamSupport.stream(spliterator, false).collect(JsonjCollectors.array()); assertThat(array.size(), is(3)); }
public void shouldConvertFieldToSet() { JsonObject object = object(field("f", array(1,1,1,1,1))); assertThat(object.getOrCreateArray("f").size(), is(5)); assertThat(object.getOrCreateSet("f").size(), is(1)); assertThat(object.getArray("f").size(), is(1)); object.getArray("f").add(1); assertThat(object.getArray("f").size(), is(1)); }
public void shouldConvertToArray() { JsonArray array = set(1,2,3).asArray(); array.add(1,2,3); assertThat(array.size(), is(6)); }
public void shouldStreamJson() { String input=""; for(int i=0;i<10;i++) { input+="# this is a comment\n"; input+=object(field("id",i)) + "\n"; input+="\t\n"; // a few variations of whitespace input+=" \n"; input+="\n"; } Stream<JsonObject> stream = jsonParser.parseJsonLines(new StringReader(input)); JsonArray all = stream.collect(JsonjCollectors.array()); assertThat(all.size()).isEqualTo(10); } }
public void shouldAddJsonElements() { JsonArray arr = new JsonArray(); arr.add(primitive(1),object(field("1", "2")),array(42)); assertThat(arr.size(), is(3)); assertThat(arr.get(0).isPrimitive(), is(true)); assertThat(arr.get(1).isObject(), is(true)); assertThat(arr.get(2).isArray(), is(true)); }
public void shouldRemoveEmpty() { JsonArray array = array(object().get(), array(), nullValue()); assertThat(array).isEmpty(); array.removeEmpty(); AssertJUnit.assertEquals(array.size(), 0); }
public void shouldModifyNotReplaceExistingArrayWithIdStrategy() { JsonObject o = object(field("arr", array( object(field("id","1"),field("name","foo")), object(field("id","2"),field("name","bar")) ))); JsonSet set = o.getOrCreateSet("arr").withIdStrategy("id"); set.add(object(field("id","3"),field("name","foobar"))); assertThat(o.getOrCreateArray("arr").size()).isEqualTo(3); }