我承认Python的json
模块用于编写json。我正在使用该模块生成简单的Javascript代码(即,某些无效的json代码)。大多数情况下这没问题,但是我需要一种干净的方法来通过dumps
传递变量名称。例如写一些类似的方法:
>>> json.dumps({"varName":F("varReference")})
'{"varName": varReference}'
但我无法弄清楚如何阻止json添加引号。我能想到的最好的是F
用一些罕见的符号填充字符串,然后在dumps
的输出上进行正则表达式替换。还有其他建议吗?我在json
或simplejson
中看到的所有内容都需要可序列化的json对象。
答案 0 :(得分:0)
一种方法可能不是尝试在服务器端进行,而是始终与JSON通信,然后让JavaScript从这个JSON中找出如何构建最终对象。
将JavaScript输出为JSON地图"变量名称":"变量值"。
在JavaScript端评估变量值,方法是遍历对象键并根据" variableablue"解析每个键的新值。来自全局变量。
Object.getOwnPropertyNames(obj).forEach(function(name, idx, array) {
var varName = obj[name];
obj[name] = window[varName]; // Evaluate variable value from global window scope
});)
例如,forEach()
是EcmaScript 5,旧版浏览器可能需要填充。