JSON: 引用先前定义的元素

JSON: referencing previously defined element

以下是ruby中定义的一些示例数据,我想将其编码为json,这样我就可以在其他语言中导入和重用这些相同的数据。

如您所见,我定义了两个变量,$datastart 和 $dataend,作为可重用元素。

$datastart = 'BEGIN: '
$dataend   = ' --- END'

$data = [
  $datastart + 'something' + $dataend,
  $datastart + 'something else' + $dataend,
  $datastart + 'yet another thing' + $dataend,
  $datastart + 'no more' + $dataend,
]

我想写一些 json 其中一些对应于 $datastart 和 $dataend,所以如果我想添加新条目到我的列表,我可以在 json 文件本身,同时引用 json 化的 $datastart 和 $dataend.

我知道我可以通过在 json 中嵌入某种特殊标记来代表 $datastart 和 $dataend,然后从我的应用程序中替换这些标记,之后 导入 json.

但是,我不想在我的应用程序中编写任何特殊代码。我只想做一个 json.load(或等效的),并在加载后立即正确实现数据。

我还没有找到任何方法来做到这一点。有可能吗?

JSON 文件不能引用其文件中的任何其他内容。您将需要在文件创建之前或之后对其进行处理,如您所想。

我要注意:JSON 并非真正设计用于手动编辑。如果可以,您可能会研究 YAML 格式。它可以做很多事情,是 JSON 的超集(每个 JSON 文件都是有效的 YAML 文档),甚至支持您正在寻找的功能。