Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将sql查询解析为JSON_Javascript_Sql_Postgresql_Typescript - Fatal编程技术网

Javascript 将sql查询解析为JSON

Javascript 将sql查询解析为JSON,javascript,sql,postgresql,typescript,Javascript,Sql,Postgresql,Typescript,我正在寻找一种方法,最好是NPM包,将SQL查询解析为JSON。我找到了一些SELECT语句,但实际上我需要更新和插入语句。 例如,以下形式的查询: "UPDATE "users" SET name = $2 where id in ($1)", ['new name', 1] 结果应该是: { action: 'UPDATE', entity: 'users', values: { name: 'new name' }, conditions: { 'id': 1} }

我正在寻找一种方法,最好是NPM包,将SQL查询解析为JSON。我找到了一些SELECT语句,但实际上我需要更新和插入语句。
例如,以下形式的查询:

"UPDATE "users" SET name = $2 where id in ($1)", ['new name', 1]
结果应该是:

{ 
  action: 'UPDATE',
  entity: 'users',
  values: { name: 'new name' },
  conditions: { 'id': 1} 
}

谢谢你的帮助

欢迎来到StackOverflow

有多个库用于执行此操作。一个例子是。根据他们的自述,您可以简单地执行以下操作:

const{Parser}=require('node-sql-Parser');
const parser=new parser();
const ast=parser.astify('SELECT*FROM t');//默认情况下已解析mysql sql语法
控制台日志(ast);
输出结果如下:

{
  "type": "select",
  "columns": "*",
  "from": [
    {
      "table": "t"
    }
  ]
}

您可以在这里玩一下,看看它是否符合您的期望:。

您作为会员的时间已经足够长了,您知道关于非现场资源(如图书馆)的问题是非常重要的。投票相应地关闭,而不是添加基于意见的建议。