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 文档),甚至支持您正在寻找的功能。
以下是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 文档),甚至支持您正在寻找的功能。