default String getString(final String... labels) { return getJsonObject().getString(labels); }
public void shouldConvertSimpleHashMapToJsonObject() { Map<String,String> simpleMap=new HashMap<>(); simpleMap.put("one", "xxxxx"); simpleMap.put("two", "xxxxx"); simpleMap.put("three", "xxxxx"); JsonObject object = new JsonObject(simpleMap); assertThat(object.getString("one")).isEqualTo("xxxxx"); }
public void shouldParseAndSubstitute() { String hocon="path : \"/bin\"\n" + "path : ${path}\":/usr/bin\""; JsonObject parsed = parser.parseObject(hocon); assertThat(parsed.getString("path")).isEqualTo("/bin:/usr/bin"); }
/** * Allows you to lookup objects from an array by e.g. their id. * @param fieldName field to match on * @param value value of the field * @return the first object where field == value, or null */ public Optional<JsonObject> findFirstWithFieldValue(@Nonnull String fieldName, String value) { JsonElement result = findFirstMatching(e -> { if(!e.isObject()) { return false; } JsonObject object = e.asObject(); String fieldValue = object.getString(fieldName); if(fieldValue !=null) { return fieldValue.equals(value); } else { return false; } }).orElse(null); if(result != null) { return Optional.of(result.asObject()); } else { return Optional.empty(); } }
@Test(dataProvider="objectConstructors") public void shouldCreateObject(Supplier<JsonObject> supplier) { JsonObject object = supplier.get(); JsonObject createdObject = object.getOrCreateObject("a","b","c"); createdObject.put("foo", "bar"); Assert.assertTrue(object.getString("a","b","c", "foo").equals("bar"), "object should have been added"); }
public void shouldPutJsonDataObject() { JsonDataObject jdo = new JsonDataObject() { private static final long serialVersionUID = 1L; @Override public JsonObject getJsonObject() { return object(field("foo","bar")); } }; JsonObject o = object(field("x",42)); o.put("jdo", jdo); assertThat(o.getString("jdo","foo")).isEqualTo("bar"); }
public void shouldHandleJsonNullsOnGet() { JsonObject o = object().put("x", JsonPrimitive.JSON_NULL).get(); // should return the json null assertThat((JsonPrimitive)o.get("x"), CoreMatchers.notNullValue()); // these should all return a java null assertThat(o.getInt("x"), CoreMatchers.nullValue()); assertThat(o.getLong("x"), CoreMatchers.nullValue()); assertThat(o.getFloat("x"), CoreMatchers.nullValue()); assertThat(o.getDouble("x"), CoreMatchers.nullValue()); assertThat(o.getBoolean("x"), CoreMatchers.nullValue()); assertThat(o.getString("x"), CoreMatchers.nullValue()); assertThat(o.getArray("x"), CoreMatchers.nullValue()); assertThat(o.getObject("x"), CoreMatchers.nullValue()); }
public void shouldIterateOverObjects() { JsonObject obj = object().put("foo", "bar").get(); int i=0; for(JsonObject o: array(obj,obj).objects()) { assertThat(o.getString("foo"), is("bar")); i++; } assertThat(i,is(2)); }
public void shouldAddFields() { JsonObject object = object(field("meaningoflife", 42), field("foo", primitive("bar")), field("list",array("stuff"))); assertThat(object.getInt("meaningoflife"), is(42)); assertThat(object.getString("foo"), is("bar")); assertThat(object.getArray("list").get(0).asString(), is("stuff")); }
public void shouldFlatten() { JsonObject obj = object(field("x", object(field("y", array(primitive(1),primitive(2),object(field("foo","bar"))))))); JsonObject flattened = obj.flatten(":"); assertThat(flattened.getInt("x:y:0")).isEqualTo(1); assertThat(flattened.getInt("x:y:1")).isEqualTo(2); assertThat(flattened.getString("x:y:2:foo")).isEqualTo("bar"); }
public void shouldFindObjectInArray() { JsonArray arr = array( null, primitive(42), object(field("id","1"), field("name", "1")), object(field("id","1"), field("name", "2")), object(field("id","2"), field("name", "3")), object(field("id","2"), field("name", "4")), object(field("id","3"), field("name", "5")), object(field("id","3"), field("name", "6")) ); assertThat(arr.findFirstWithFieldValue("id", "1").get().getString("name")).isEqualTo("1"); assertThat(arr.findFirstWithFieldValue("id", "2").get().getString("name")).isEqualTo("3"); assertThat(arr.findFirstWithFieldValue("id", "3").get().getString("name")).isEqualTo("5"); assertThat(arr.findFirstWithFieldValue("id", "4").isPresent()).isEqualTo(false); } }
public void shouldReplaceElementAfterSettingStrategy() { JsonObject object1 = object(field("id",1), field("value", "foo")); JsonObject object2 = object(field("id",1), field("value", "bar")); JsonSet set = set(); set = set.withIdStrategy("id"); set.add(object1); set.add(object2); assertThat(set.size(), is(1)); assertThat(set.get(0).asObject().getString("value"), is("bar")); }
public void shouldReturnExistingObject() { JsonObject object = object().put("a", object().put("b", object().put("foo","bar").get()).get()).get(); JsonObject orCreateObject = object.getOrCreateObject("a","b"); Assert.assertTrue(orCreateObject.getString("foo").equals("bar"), "return the object with foo=bar"); }
assertTrue(object.getInt("a","b","d") == 42, "or an integer"); assertTrue(object.getString("a","b","e").equals("hi!"), "or a string"); assertTrue(object.getString("1","2","3","4","5").equals("xxx"), "yep, we just added a string value 5 levels deep that did not exist so far"); object.getOrCreateArray("5","4","3","2","1").add("xxx");