SQL查询为JSON文件中的字符串

时间:2019-05-11 21:53:16

标签: sql arrays json

可以将SQL查询存储在对象的JSON数组中?因为当我有这样的事情时:

[{
        "id": "1",
        "query": "SELECT ID FROM table"
    },
    {
        "id": "2",
        "query": "SELECT ID FROM table"
    },
    {
        "id": "3",
        "query": "SELECT USER FROM table"
    }
]

VSCode中的JSON文件是好的,没有错误,当我想存储带有联接等的复杂查询时,它变得令人讨厌

例如此查询,即使我正确设置了格式,也会在JSON文件中生成有关格式的错误

(只是示例,我不是无效的)

SELECT user, id, , count(price) as numrev
  FROM price
  where id = 1 and user = 0 
  group by user, id, price

不能将其存储在字符串中

1 个答案:

答案 0 :(得分:-1)

这很容易做到,但是需要额外的步骤。

  1. 只需将原始SQL查询转换/编码为base64文本即可。
  2. 在执行代码中的查询之前先对文本进行解码。

如果JSON文件是由程序/代码自动创建的

所有大多数编程语言都证明,如果不下载兼容的软件包/库来实现这种自动化,则base64编码/解码功能是核心的一部分

var queries = [{
    "id": "1",
    "query": "U0VMRUNUIElEIEZST00gdGFibGU="
  },
  {
    "id": "2",
    "query": "U0VMRUNUIElEIEZST00gdGFibGU="
  },
  {
    "id": "3",
    "query": "U0VMRUNUIFVTRVIgRlJPTSB0YWJsZQ=="
  },
  {
    "id": "4",
    "query": "U0VMRUNUIHVzZXIsIGlkLCAsIGNvdW50KHByaWNlKSBhcyBudW1yZXYKICBGUk9NIHByaWNlCiAgd2hlcmUgaWQgPSAxIGFuZCB1c2VyID0gMCAKICBncm91cCBieSB1c2VyLCBpZCwgcHJpY2U="
  }
];

for (i = 0; i < queries.length; i++) {
  console.log("id = " + queries[i].id + ", query = " + atob(queries[i].query));
}

在解析JSON数组时,请确保在执行SQL查询之前先进行解码。

让我知道这对你有帮助。☺☻☺

仅供参考,请参阅enter image description here {{3}}