json转储与dict作为值

时间:2013-12-30 04:51:49

标签: python django json dictionary

This question清楚地解释了如何使用json和python dicts发送响应。但是,该示例使用 String 作为此dict中的值类型。如何用dict作为值类型来做到这一点?这是一个以dict作为价值的词典。

2 个答案:

答案 0 :(得分:1)

通过给dict作为值类型的dict。

>>> json.dumps({'foo': {'bar': 42}})
'{"foo": {"bar": 42}}'

答案 1 :(得分:1)

澄清adityasdarma1的评论:这不是Python或Django的限制,而是JSON的限制。在JSON中,对象键必须始终是字符串。无论如何,JSON或JavaScript中都没有“元组”类型;并且数组不能是键,因为它们是可变的。 (在Python中,元组可以是dict键,但列表不能。)

但是,我不确定你为什么会这么做。您可以以某种方式连接值以生成字符串键 - 例如"bar-baz" - 或者您可能需要更复杂的嵌套结构,bar作为外部字典的键和{{1作为一个内在的。如果没有看到完整的数据结构,就很难进一步建议。