我有一个字符串=" [A] [B] [C]",value =" foo"
如何将字符串设置为嵌套的Json密钥?即。
body={}
body[string]=value # of course doesn't work
print body
得到以下: -
{ "A":{
"B":{
"C":"foo"
}
}
}
答案 0 :(得分:0)
可能没有这样的功能(至少在Web框架之外),但你可以自己制作:
def setPath(body, path, value):
brace = path.find('[')
if brace == 0:
brace = path.index(']', 1)
prop = path[1:brace]
path = path[brace+1:]
elif brace > 0:
prop = path[:brace]
path = path[brace:]
else:
path = prop
if len(path) > 0:
if type(body) != dict or prop not in body:
body[prop] = dict()
return setPath(body[prop], path, value)
body[prop] = value
body = dict()
setPath(body, "[A][B][C]", "foo")
print body
输出:{'A': {'B': {'C': 'foo'}}}
但这不会处理数组。