我正在编写一个生成 JSON 并将其输出到文件的程序。我输出到文件的第一个内容是以下 JSON 字符串:
var jsonStyle = {'color': '#004070',
'weight': 2,
'opacity': 0.9}
然后我使用 Python JSON 库生成 JSON 输出。这是我传递到 json.dumps 的 Python 对象:
js = {'type': 'Feature',
'properties':
{'style': 'jsonStyle'},
'geometry': geomJSON}
我想要的文本输出是:
js = {'type': 'Feature',
'properties':
{'style': jsonStyle},
'geometry': geomJSON}
这样我就可以在输出文件顶部编辑 jsonStyle
来更改所有后续 JSON 元素的样式。问题是,我当前构建 JSON 对象的方式输出 'jsonStyle'
,它是一个字符串,而不是 Javascript 变量名称。如果我将样式键设置为我输出的样式字符串的字典版本,它将包含每个后续 JSON 元素的 JSON 对象。当我用 Python 编码时,我不知道如何让 style
引用 Javascript 变量名称。
我不想为此进行字符串操作,但我可以依靠这一点。
编辑:
我想我实际上并没有使用 JSON。我将它们作为变量输出到 Javascript 文件中,以便可以将它们作为 JSON 对象包含在另一个 Javascript 文件中。看起来我要么需要使用 YAML,要么只是进行某种字符串编辑并放弃严格的 JSON 编码。
最佳答案
你要写的格式is not JSON 。该格式对于 json 对象中的值非常具体,并且没有 javascript 变量的概念。您尝试编写的是 javascript,而不是 JSON - 这是不一样的。
因此,您可以简单地尝试删除特殊变量周围的引号,或者编写自己的序列化程序。
关于python - 在 Python JSON 中编码 Javascript 变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10836994/