JSON 和多行字符串的模板文字

JSON and Template Literals for multiline strings

我想在 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 的模板文字中一样,显然变量的插值不适用于存储的 JSON,但是这个文字的多行特性就是我的意思有兴趣。

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

我又问了一次,因为我想知道 ` 语法是否已计划好或从那时起就已经在使用了。

感谢您对此的帮助

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

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

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