我有一个如下所示的 JavaScript 文件:
var abc= {
"a" : {
"label": "Monthly",
"URL": "xyz.com",
"ArchTag": "M",
"archData": {
"Feb 2016":"20160229",
"Jan 2016":"20160129",
"Dec 2015":"20151231"
}}};
所以我想要一种方法来编辑它并添加新的月份详细信息。我猜它是 javascript 中的 json 。那么如何才能以标准方式对其进行编辑。
最佳答案
如果您可以依赖每次看起来都与此完全相同的数据,那么您可以删除阻止其成为 JSON 的部分:
json_data = json.loads('{' + json_file.read().partition('{')[2])
(或使用正则表达式,或任何您喜欢的字符串操作)
您仍然应该注意 JavaScript 与 JSON 不同,因此您需要有一定的信心,确保您所得到的始终是有效 JSON 关联数组对变量的赋值。
另一方面,如果您被传递任意 JavaScript 并且您需要对其进行评估,那么您就有一个更大的问题需要解决。如果有人给你 var xyz = "Monthly"; 该怎么办? var abc = {“标签”:xyz,“URL”:“xyz”+“。” +“com”}
?
您需要一个 JavaScript 引擎来解决这个更普遍的问题,而不仅仅是一个 JSON 解析器。例如,js2py
声称是一个用Python编写的完整的JavaScript引擎,但我从未使用过它,所以我不能推荐或不推荐它。
在执行来自不受信任来源的代码时,还需要考虑安全问题,如果您所做的只是解析来自不受信任来源的 JSON,则需要考虑这些安全问题。因此,如果您需要使用 JavaScript 引擎,请确保您正确理解它是如何沙箱化的。
关于javascript - Python 中的 Json 带有 var 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36717757/