提问人:user63898 提问时间:7/8/2021 最后编辑:halferuser63898 更新时间:11/8/2023 访问量:121
JavaScript 无法从 Python Flask 转换为对象 JSON,它只能将其视为字符串
JavaScript can't convert to object JSON from Python Flask, it only sees it as a string
问:
我正在 Flask 中创建一个动态 JSON 结构。
在将其发送到客户端之前,我将其转换为字符串:
json.dumps(db_list)
然后在客户端,它被呈现为:(从Chrome中的View Source复制):
<input type="hidden"
id="data_from_server"
name="data_from_server"
value='[{'data_source_name': 'FOO', 'db_servers_entry_list': [{'yml_props': {'version': 12, 'dir': 'dir/Oracle', 'default': True, 'schema': {'driver': 'xxOracleDriver'}}, 'display': 'oracle-12c-xxxx', 'ip': 'xsx', 'port': '1521', 'selected': True}, {'yml_props': {'dir': 'sql-scripts/MySQL', 'version': 5.7}, 'display': 'mysql-5.7-xxxx-x', 'ip': 'dd.dd', 'port': '3306', 'selected': False}, {'yml_db': {'dir': 'sql-scripts/MsSQL', 'version': 2017}, 'display': 'mssql-s', 'ip': '10.x.x.x', 'port': '1433', 'selected': False}], 'clean': {'create': 'db/main.sql', 'polulate': [{'xxxx': {'enabled': True, 'scripts': ['mssql/*-sql', 'clean/*.sql']}}, {'xx': {'enabled': True, 'scripts': ['dir/*.sql*.sql']}}, {'DI': {'enabled': True, 'scripts': ['dir/*.sql']}}]}, 'services:': ['xxxxxxxx', 'xxxxxx', 'xxxxpm', 'xxxxuser']}, {'data_source_name': 'dt', 'db_servers_entry_list': [{'yml_db': {'version': 12, 'default': True, 'schema': {'driver': 'xxOracleDriver', 'user': 'xxx', 'password': 'yyyy', 'ip': '10.x.x.x', 'port': 1541, 'sid': 'zzz', 'url': 'jdbc:oracle:thin:yyyy/yyyy@$10.x.x.x:1541/zzz'}}, 'display': 'oracle-12c-xxxx', 'ip': 'xsx', 'port': '1521', 'selected': True}, {'yml_db': {'version': 5.7}, 'display': 'mysql-5.7-xxxx-x', 'ip': 'dd.dd', 'port': '3306', 'selected': False}, {'yml_properties': {'version': 2017}, 'display': 'mssql-s', 'ip': '10.x.x.x', 'port': '1433', 'selected': False}], 'clean': None, 'services:': ['xxxxxxxx']}]'>
当我这样做时,在客户端:
typeof(JSON.parse(JSON.stringify(document.getElementById("data_from_server").value)))
我一直觉得它是“字符串”。
当我这样做时:
typeof(JSON.parse(document.getElementById("data_from_server").value))
我得到:
VM3503:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 2
at JSON.parse (<anonymous>)
at <anonymous>:1:13
为什么用 ?我的 JSON 有什么问题?"'"
答: 暂无答案
评论
value
不是JSON,你能展示一点样本吗?json.dumps(db_list)