6

我想在 JSON 文件中存储一些 sql 字符串。这就是 JSON 文件在我的理想世界中的样子

[
  "select t.index1, t.title, t.description, t.insertDate
  from myTable t
  join anotherTable t2 on t.index1 = t2.fIndex
  where t2.active = 1",
  ...
]

明显的限制是 JSON 和 javascript 不支持多行字符串。

我想避免这样做:

[
  "select t.index1, t.title, t.description, t.insertDate\nfrom myTable t\njoin anotherTable t2 on t.index1 = t2.fIndex\nwhere t2.active = 1",
  ...
]    

我看到一个人这样做,这也不理想:

[
  ["select t.index1, t.title, t.description, t.insertDate",
  "from myTable t",
  "join anotherTable t2 on t.index1 = t2.fIndex",
  "where t2.active = 1"],
  ...
]

然后在他使用的解释器程序中myMultilineStringInArrayForm.join("\n")

我想知道是否有人有任何关于模板字符串工作(或计划在未来工作)用于此目的的信息,如下所示:

[
  `select t.index1, t.title, t.description, t.insertDate
  from myTable t
  join anotherTable t2 on t.index1 = t2.fIndex
  where t2.active = 1`,
  ...
]

请注意,我在 ES6 的 Template Literals 中使用了反引号 ( `),显然变量的插值不适用于存储的 JSON,但我感兴趣的是这个文字的多行特性。

请注意,这个问题类似于这个 6 岁的问题:Multiline strings in JSON

我再次问,因为我想知道`从那时起语法是否已经计划好或已经工作了。

我很感激这方面的帮助

4

2 回答 2

2

看起来我拥有可读存储格式的最佳选择是 XML。我试图远离 XML,并认为 JSON 在其未来由于`语法而具有多行字符串,但没有

于 2016-11-15T21:16:22.907 回答
1

您可以使用支持反引号的JSON6

这似乎是一个小型的单人项目,因此通过转义换行符来支持跨越多行的字符串可能更好地支持JSON5可能是更好的选择。

于 2018-09-14T08:39:28.590 回答