@Override
    public Object parse(JsonParser jsonParser) throws IOException {
        switch (jsonParser.getCurrentToken()) {
            case VALUE_NULL:
                return null;
            case VALUE_FALSE:
                return false;
            case VALUE_TRUE:
                return true;
            case VALUE_NUMBER_FLOAT:
                return jsonParser.getDoubleValue();
            case VALUE_NUMBER_INT:
                return jsonParser.getLongValue();
            case VALUE_STRING:
                return jsonParser.getText();
            case VALUE_EMBEDDED_OBJECT:
                return LoganSquare.mapperFor(Map.class).parse(jsonParser);
            case START_OBJECT:
                return LoganSquare.mapperFor(Map.class).parse(jsonParser);
            case START_ARRAY:
                return LoganSquare.mapperFor(List.class).parse(jsonParser);
            default:
                throw new RuntimeException("Invalid json token encountered: " + jsonParser.getCurrentToken());
        }
    }
Built-in mapper for unknown types
core/src/main/java/com/bluelinelabs/logansquare/internal/objectmappers/ObjectMapper.java