Python 以dict作为值的json转储
清楚地解释了如何使用json和python dict发送响应。但是,该示例使用字符串作为该dict中的值类型。如果将dict作为值类型,将如何执行此操作?这是一个以dict作为值的dict。给它一个以dict作为值类型的dictPython 以dict作为值的json转储,python,django,json,dictionary,Python,Django,Json,Dictionary,清楚地解释了如何使用json和python dict发送响应。但是,该示例使用字符串作为该dict中的值类型。如果将dict作为值类型,将如何执行此操作?这是一个以dict作为值的dict。给它一个以dict作为值类型的dict >>> json.dumps({'foo': {'bar': 42}}) '{"foo": {"bar": 42}}' 为了澄清adityasdarma1的评论:这不是Python或Django的限制,而是JSON的限制。在JSON中,对象键必须始终
>>> json.dumps({'foo': {'bar': 42}})
'{"foo": {"bar": 42}}'
为了澄清adityasdarma1的评论:这不是Python或Django的限制,而是JSON的限制。在JSON中,对象键必须始终是字符串。JSON或JavaScript中没有“元组”类型;数组不能是键,因为它们是可变的。(在Python中,元组可以是dict键,但列表不能。)
不过我不知道你为什么需要这个。您可以以某种方式连接这些值以生成一个字符串键(例如
“baz”
),或者您可能需要一个更复杂的嵌套结构,其中bar
作为外部dict的键,baz
作为内部dict的键。如果看不到完整的数据结构,就很难给出进一步的建议。我说得不够具体。我提到的dict的特定类型有一个元组作为键:json。dumps({'foo':{('bar','baz'):42})导致“TypeError:keys必须是字符串”字典的键不能是元组('bar','baz')
无效。