我在python中创建了一个动态json结构
在将其发送到客户端之前,我将其转换为字符串:
json.dumps(db_list)
然后在客户端,它呈现如下:(是从chrome中的视图源复制的)
<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有什么问题?
暂无答案!
目前还没有任何答案,快来回答吧!