Json { public Json() { this("{}"); } Json();  Json(String json);  Json(Map map);  Json(Object o); private  Json(DocumentContext doc); DocumentContext getDoc(); ScriptValue getValue(); Json set(String path, Object value); Json set(String path, String value); Match getMatcher(String path); Json getJson(String path); Object get(String path); T get(String path, Class<T> clazz); String getString(String path); List getList(String path); Map getMap(String path); Number getNumber(String path); Integer getInteger(String path); Boolean getBoolean(String path); @Override String toString(); boolean isArray(); Object asMapOrList(); Map<String, Object> asMap(); List<Map<String, Object>> asList(); Json equals(String exp);  }
@Test public void testJson() { new Json("{ hello: 'world' }").equals("{ hello: 'world' }"); new Json("{ hello: 'world' }").equals("{ hello: '#string' }"); assertEquals("world", new Json("{ hello: 'world' }").get("hello")); new Json("{ hello: 'world' }").getMatcher("hello").equalsText("world"); new Json("{ a: { b: 2 } }").getJson("a").equals("{ b: 2 }"); new Json("{ a: [1, 2] }").getJson("a").equals("[1, 2]"); new Json().set("hello", "world").equals("{ hello: 'world' }"); new Json().set("foo.bar", "world").equals("{ foo: { bar: 'world' }}"); new Json().set("foo.bar", "[]").equals("{ foo: { bar: [] }}"); new Json().set("foo.bar", "{ ban: 'baz' }").equals("{ foo: { bar: { ban: 'baz' } }}"); }