sql2json

2.0.6 • Public • Published

SQL2JSON

Build Status Test Coverage

Library that serves two main purposes:

  • Converts SQL queries to JSON representation of the query.
  • Converts JSON representation of the query to SQL (as supported by ElasticSearch's SQL plugin

Example:

With this SQL SELECT * FROM tablename WHERE a > 2 and b < 3 or c = 2

Return this object:

{  
   "select":[  
      {  
         "value":"*",
         "alias":null,
         "type":"wildcard"
      }
   ],
   "from":"tablename",
   "where":{  
      "type":"conditional",
      "value":"or",
      "left":{  
         "type":"conditional",
         "value":"and",
         "left":{  
            "type":"operator",
            "value":">",
            "left":{  
               "value":"a",
               "type":"literal"
            },
            "right":{  
               "value":2,
               "type":"number"
            }
         },
         "right":{  
            "type":"operator",
            "value":"<",
            "left":{  
               "value":"b",
               "type":"literal"
            },
            "right":{  
               "value":3,
               "type":"number"
            }
         }
      },
      "right":{  
         "type":"operator",
         "value":"=",
         "left":{  
            "value":"c",
            "type":"literal"
         },
         "right":{  
            "value":2,
            "type":"number"
         }
      }
   }
}

SQL support

Supported

  • select queries
  • delete queries
  • field alias
  • * in select clause
  • functions with and without arguments
  • basic math operators
  • constants

Unsupported

  • Anything other than select and delete queries
  • Subqueries
  • Joins
  • conditionals
  • pretty much everything that's not covered in the tests

Installation

npm install --save sql2json

Use

To convert sql to json:

const Sql2json = require('sql2json').sql2json;
new Sql2json(<sql>).toJSON()

The library has a function that it convert json object to sql

To convert json to sql:

const Json2sql = require('sql2json').json2sql;
Json2sql.toSQL(<object>)

/sql2json/

    Package Sidebar

    Install

    npm i sql2json

    Weekly Downloads

    1

    Version

    2.0.6

    License

    MIT

    Unpacked Size

    245 kB

    Total Files

    39

    Last publish

    Collaborators

    • andres.gonzalez
    • davidsingal
    • mbarrenechea
    • clementprdhomme
    • tiagojsag
    • d4weed
    • hotzevzl