def _parse_dict(val):
    serializer = JSONSerializer()
    try:
        d = serializer.decode(val)
        if type_util.is_dict(d):
            return d
        return None
    except Exception:
        return None
def _parse_list(val, separator=None):
    serializer = JSONSerializer()
    try:
        l = serializer.decode(val)
        if type_util.is_list(l):
            return l
    except Exception:
        if separator:
            l = list(val.split(separator))
            return l
    return None
Esempio n. 3
0
def dump(obj, **kwargs):
    serializer = JSONSerializer()
    options = {'indent': 4, 'sort_keys': True}
    options.update(**kwargs)
    try:
        output = serializer.encode(obj, **options)
        return output
    except TypeError as error:
        sort_keys = options.pop('sort_keys', False)
        if sort_keys:
            output = serializer.encode(obj, **options)
            return output
        raise error
def _parse_list(val, separator=None):
    if val.startswith('{') and val.endswith('}') or val.startswith(
            '[') and val.endswith(']'):
        try:
            serializer = JSONSerializer()
            l = serializer.decode(val)
            if type_util.is_list(l):
                return l
            return None
        except Exception:
            pass
    if separator:
        l = list(val.split(separator))
        return l
    return None