gpt4 book ai didi

python - json.dumps 'skip over' 具体键?

转载 作者:行者123 更新时间:2023-12-01 05:10:24 28 4
gpt4 key购买 nike

有没有办法让 python 的 json.dumps “跳过”特定键,以便将某些值直接写入标签中?

例如

data = {'a_number': 42, 'a_string': 'foo'}
data['a_json_encoded_object'] = '{"foo": "bar"}' #this is a string being read from the DB

dumped = json.dumps(data)

然后在 html 文件中,使用 Django

<script>
var data = {{dumped}}
</script>

这会产生 html:

var data = {"a_json_encoded_object": "{\\"foo\\": \\"bar\\"}", "a_string": "foo", "a_number": 42}

但我想要的是:

var data = {"a_json_encoded_object": {"foo": "bar"}, "a_string": "foo", "a_number": 42}

有办法做到这一点吗?IE。告诉 json.dumps:对于键 'a_json_encoded_object',根本不要操作该值,直接将其写入 json "a_json_encoded_object":

如果不是,将 JSON 编码的字符串从数据库获取到浏览器内存的最佳实践是什么?作为引用,现在我正在使用 JSON.parse,但它很困惑。

最佳答案

好的,那么你想要达到的效果就是

data['a_json_encoded_object'] = {"foo": "bar"}

你有字符串

'{"foo": "bar"}'

来自数据库。

只需使用 json.loads 将字符串转换回 Python 字典

>>> json.loads('{"foo": "bar"}')
{u'foo': u'bar'}

所以

data['a_json_encoded_object'] = json.loads('{"foo": "bar"}')

与以下内容相同

data['a_json_encoded_object'] = {"foo": "bar"}

在你的 Django 模板中

<script>
var data = {{ dumped|safe }} // Mark as safe so quotations won't be escaped
</script>

渲染到

var data = {"a_json_encoded_object": {"foo": "bar"}, "a_string": "foo", "a_number": 42}

关于python - json.dumps 'skip over' 具体键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337249/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com