如何在Python-Django中解析请求数据?

时间:2016-07-19 14:09:06

标签: python django

我收到django request.POST格式: {     'a':1,     'b [c]':2,     'b [d]':3,     'b [e]':4,     'f [g]':5,     'f [h]':6 }

我如何解析它以便我得到格式的dict: {     'a':1,     'b':{         'c':2,         'd':3,         'e':4     },     'F': {         'g':5,         'h':6     } }

我缺少Django / Python中的开箱即用的东西吗? (使用Python 2.7,Django 1.8)

TIA

1 个答案:

答案 0 :(得分:0)

你可以使用类似的东西:

d = { 'a': 1, 'b[c]': 2, 'b[d]': 3, 'b[e]': 4, 'f[g]': 5, 'f[h]': 6 }

def parse_post_dict(d):
    new_d = {}
    for key in d.iterkeys():
        if "[" in key and "]" in key:
            key_split = key.split("[")
            outer_key = key_split[0]
            inner_key = key_split[1].replace("]", "")

            if outer_key not in new_d:
                new_d[outer_key] = {}

            new_d[outer_key][inner_key] = d[key]
        else:
            new_d[key] = d[key]

    return new_d


print parse_post_dict(d)