protected JsonType getType(Object object) {
        if (object == null) return JsonType.NULL;
        if (object instanceof String) return JsonType.STRING;
        if (object instanceof Number) return JsonType.NUMBER;
        if (object instanceof Boolean) return JsonType.BOOLEAN;
        if (object instanceof Collection) return JsonType.ARRAY;
        if (object instanceof Map) return JsonType.OBJECT;
        if (object instanceof Date)  return JsonType.DATE;
        return JsonType.NULL;
    }