我有一个python字典被传递给web.py框架中的javascript。 dict中的双引号被特殊字符替换,我无法恢复原始格式。有没有办法避免编码或解码它的理想方法是什么?我已经在dict上尝试了JSON.dumps但是它再次执行了不同的编码,我无法使用JSON.parse或eval对其进行解码。
内联声明的相同字典格式javascript完美地用作JSON变量。
我是JSON和javascript的新手,并且不想编写我自己的新解码功能。
我的dict变量:
{'slca': [{'hssInit': 14}, {'hssFail': 2}], 'slcb': [{'hssInit': 15}, {'hssFail': 3}], 'phx': [{'hssInit': 12}, {'hssFail': 1}]}
编码var:
var myData = "{'slca': [{'hssInit': 14}, {'hssFail': 2}], 'slcb': [{'hssInit': 15}, {'hssFail': 3}], 'phx': [{'hssInit': 12}, {'hssFail': 1}]}";
糟糕 - 当我将特殊字符粘贴到此处时,它会自动转换为字符串。 看起来我错过了一些非常基本的东西。但是javascript会为我抛出语法错误: - (
答案 0 :(得分:0)
我真的需要看一些代码来了解web.py如何返回你的字典,但问题很可能就是你的字典作为字符串返回。这就是为什么你得到'
字符代码(撇号,而不是双引号)。所以你实际上并没有得到JSON,你得到了str(你的想法)。它很接近,但不对。
如果您的代码类似于:
def GET(self):
return {'prop1': 'val', 'prop2': 4}
尝试使用json模块翻译字典
import json
# ...
def GET(self):
data = {'prop1': 'val', 'prop2': 4}
return json.dumps(data)