@Test public void test() throws Exception { Todo todo = new Todo(); todo.name = "todo"; Category category = new Category(); category.name = "category"; Genre genre = new Genre(); genre.name = "genre"; category.genre = genre; todo.category = category; BoonJsonMapper boonJsonMapper = new BoonJsonMapper(); String json = boonJsonMapper.toJson(todo); Map<String, Object> jsonMap = boonJsonMapper.fromJsonMap(json, String.class, Object.class); String value = BeanUtils.idxStr(jsonMap, "category.genre.name"); assertEquals("genre", value); assertEquals(String.class, jsonMap.get("name").getClass()); }
@Override public Object parse( Reader reader ) { if (reader instanceof StringReader) { try { String str = BeanUtils.idxStr(reader, "str"); int length = BeanUtils.idxInt(reader, "length"); int next = BeanUtils.idxInt(reader, "next"); if (str!= null && next == 0 && length == str.length()) { return parse(str); } } catch (Exception ex) { //Boon.logger("JSON PARSER").fatal(ex); //throw new IllegalStateException(ex); } } characterSource = new ReaderCharacterSource ( reader ); return this.decodeValue (); }
@Override public Object parse( Reader reader ) { if (reader instanceof StringReader) { try { String str = BeanUtils.idxStr(reader, "str"); int length = BeanUtils.idxInt(reader, "length"); int next = BeanUtils.idxInt(reader, "next"); if (str!= null && next == 0 && length == str.length()) { return parse(str); } } catch (Exception ex) { //Boon.logger("JSON PARSER").fatal(ex); //throw new IllegalStateException(ex); } } characterSource = new ReaderCharacterSource ( reader ); return this.decodeValue (); }
@Override public Object parse( Reader reader ) { if (reader instanceof StringReader) { try { String str = BeanUtils.idxStr(reader, "str"); int length = BeanUtils.idxInt(reader, "length"); int next = BeanUtils.idxInt(reader, "next"); if (str!= null && next == 0 && length == str.length()) { return parse(str); } } catch (Exception ex) { //Boon.logger("JSON PARSER").fatal(ex); //throw new IllegalStateException(ex); } } characterSource = new ReaderCharacterSource ( reader ); return this.decodeValue (); }