【发布时间】:2021-08-16 14:18:36
【问题描述】:
我正在开发一个 Django Web 应用程序,但我遇到了问题。我有一个页面,我在其中列出了 MySQL 表中的所有结果,它工作正常。
{% for row in db_list %}
<tr>
<th scope="row">{{ row.description }}</th>
<td>
<button type="submit" name="instance" value="{{ row }}" class="btn btn-primary" title="OPEN TABLE" id="test"><i class="fas fa-list-ul"></i></button>
</td>
</tr>
{% endfor %}
根据选择,我必须显示所选表的关系,并且它适用于解决方法,但它不是通用的。
如您所见,我正在做的是传回 json 的单行。
db_list 是:
{
"db_list": [
{
"description": "description",
"table_name": "table_name",
"database_name": "database_name"
},
{
"description": "description",
"table_name": "table_name",
"database_name": "database_name"
},
{
"description": "description",
"table_name": "table_name",
"database_name": "database_name"
}
]
}
我希望像这样传输 json:
{
"description": "description",
"table_name": "table_name",
"database_name": "database_name"
}
在这种情况下,我会使用 json.dumps() 来处理它,并使用一个简单的命令检索执行查询所需的字段,一切都会好起来的。
但我得到一个转义字符串,用两个引号括起来..
'{
\'description\': \'description\',
\'table_name\': \'table_name\',
\'database_name\': \'database_name\'
}'
这意味着它是一个非常奇怪的字符串。
由于引号,如果我尝试 `json.dump()` 这个字符串,我会获得进一步的环绕...
'"{
\'description\': \'description\',
\'table_name\': \'table_name\',
\'database_name\': \'database_name\'
}"'
如果我尝试做 dumped_json['description'] 它说参数必须是整数。因为当然它仍然不是一个字典。即使我把它扔了。
我已经尝试过用 dict() 包围,但没有。
我已经尝试用其他引号或什么都不替换引号,但没有。没有引号就不能转储,如果我用双引号替换,我会一直看到转义。
问题是:从技术上讲,它一直是一个字符串。如果我尝试打印它,当然它没有 \ 转义。 json 的 [0] 是 { (相反,如果我做了转储,它是“)而不是 '。已经尝试过 ascii 解码和所有这些东西。似乎 \ 转义不是“物理”存在于字符串..
【问题讨论】:
标签: python html json django parsing