python - 在 Python JSON 中编码 Javascript 变量名称

标签 python json

我正在编写一个生成 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/

相关文章:

python - 子进程相对于 os.system 的优势

javascript - 手动创建 JSON 字符串

python - 根据用户输入替换列表中的项目

javascript - JSON 解析器错误

php - 如何使用 php 打印 json 响应

c# - 对象中的特殊字符使 JSON 无效(DataContractJsonSerializer)

python - 皮克瓦利 : Validate data in a dictionary against a yaml file schema

Python作业

python - 线程 django-main-thread 中的异常

python - 属性错误: 'WebElement' object has no attribute 'sendKeys'