public static JsonValue accessPath(JsonValue obj, String... path) { for ( String p : path ) { if ( !obj.isObject() ) { throw new JsonException("Path traverses non-object") ; } obj = obj.getAsObject().get(p) ; } return obj ; }
public JsonBuilder value(BigDecimal decimal) { JsonValue value = JsonNumber.value(decimal) ; maybeObjectOrArray(value) ; return this ; }
/** Create a safe copy of a {@link JsonValue}. * <p> * If the JsonValue is a structure (object or array), copy the structure recursively. * <p> * If the JsonValue is a primitive (string, number, boolean or null), * it is immutable so return the same object. */ public static JsonValue copy(JsonValue arg) { if ( ! arg.isArray() && ! arg.isObject() ) return arg; return createFrom(arg).build(); }
private static String[] getStringArray(JsonObject json, String key) { if ( ! json.hasKey(key) ) throw new TDBException("StoreParamsCodec.getStringArray: no such key: "+key) ; JsonArray a = json.get(key).getAsArray() ; String[] x = new String[a.size()] ; for ( int i = 0 ; i < a.size() ; i++ ) { x[i] = a.get(i).getAsString().value() ; } return x ; }
@Test public void jsonBuild08() { JsonValue x = JSON.parseAny("{ a: true}") ; JsonBuilder builder = new JsonBuilder() ; JsonValue jv = new JsonBoolean(true); builder.startObject().pair("a", jv).finishObject() ; JsonValue v = builder.build() ; assertEquals(x,v) ; }
/** For walking structures */ public JsonObject getObj(String key) { return get(key).getAsObject() ; }
private boolean isJsonArrayCompact(JsonArray jsonArray) { if ( jsonArray.size() > maxCompactArray ) return false ; for ( JsonValue aJsonArray : jsonArray ) { if ( !aJsonArray.isPrimitive() ) { return false; } } return true ; }
public JsonBuilder value(boolean b) { JsonValue value = new JsonBoolean(b) ; maybeObjectOrArray(value) ; return this ; }
public JsonBuilder value(String string) { JsonValue value = new JsonString(string) ; maybeObjectOrArray(value) ; return this ; } }
private static void test(String str, String expected) { JsonValue v = new JsonString(str) ; str = v.toString() ; assertEquals(expected, str) ; }
private static void test(String str) { JsonValue v = new JsonString(str) ; writeRead(v) ; } }
private static String[] getStringArray(JsonObject json, String key) { if ( ! json.hasKey(key) ) throw new TDBException("StoreParamsCodec.getStringArray: no such key: "+key) ; JsonArray a = json.get(key).getAsArray() ; String[] x = new String[a.size()] ; for ( int i = 0 ; i < a.size() ; i++ ) { x[i] = a.get(i).getAsString().value() ; } return x ; }
public static JsonValue accessPath(JsonValue obj, String ... path) { for ( int i = 0 ; i < path.length ; i++ ) { String p = path[i] ; if ( ! obj.isObject() ) throw new JsonException("Path traverses non-object") ; obj = obj.getAsObject().get(p) ; } return obj ; }
public JsonBuilder value(long val) { JsonValue value = JsonNumber.value(val) ; maybeObjectOrArray(value) ; return this ; }
public JsonBuilder value(boolean b) { JsonValue value = new JsonBoolean(b) ; maybeObjectOrArray(value) ; return this ; }
public JsonBuilder value(String string) { JsonValue value = new JsonString(string) ; maybeObjectOrArray(value) ; return this ; } }
public JsonBuilder value(double d) { JsonValue value = JsonNumber.value(d) ; maybeObjectOrArray(value) ; return this ; }
public JsonBuilder value(double d) { JsonValue value = JsonNumber.value(d) ; maybeObjectOrArray(value) ; return this ; }