繁体   English   中英

hack json.dumps输出未引用的字符串?

[英]Hack json.dumps to output unquoted strings?

我承认Python的json模块用于编写json。 我也在使用该模块来生成简单的Javascript代码(即,无效的json)。 大多数情况下这可以,但是我需要一种干净的方法来通过dumps传递变量名。 例如一种写类似的方法:

>>> json.dumps({"varName":F("varReference")})
'{"varName": varReference}'

但我不知道如何防止json添加引号。 我能想到的最好的是F垫一些罕见的符号的字符串,然后做一个正则表达式上的输出替换dumps 还有其他建议吗? 我在jsonsimplejson看到的所有内容都需要可序列化的json对象。

一种方法可能不是尝试在服务器端执行此操作,而是始终与JSON通信,然后让JavaScript从此JSON中找出如何从中构建最终对象。

  1. 将JavaScript输出作为JSON映射“ variablename”:“ variablevalue”。

  2. 通过遍历对象键并根据全局变量中的“ variableablue”将新值值解析为每个键,从而在JavaScript端评估变量值。

     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,较旧的浏览器可能需要polyfills。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM