重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
JsonSQL 可以方便的使用 sql 语句查询 json 数据。
创新互联建站2013年至今,先为遂昌等服务建站,遂昌等地企业,进行企业商务咨询服务。为遂昌企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
示例:
源码很简洁 jsonsql-0.1.js :
可以直接使用源码方式,demo地址:
也可以使用 npm 安装,地址:
用正则匹配,把这个字段看成字符串类型的。类似这种写法:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')
node-sql:node.js插件
使用:
1.安装:
2.使用:
3.将源码中的builder.js中的(原因是第二步转换完之后,还不是正常的sql语句,含有变量)
修改为 false,就可以了!
除此之外,可以运用node.js读取json文件,生成sql文件
参考:
node-sql npm
nodejs json 转换成sql语句的工具
例如:
源JSON数据:
{
"item1": {
"title": "2",
"value": null,
"visible": true,
"name": "item1",
"enabled": true,
"readonly": false,
"id": "f1f46ce6-9d0b-4eaf-88b7-d35b23a4d2e4"
},
"item2": {
"title": null,
"value": null
"visible": true,
"name": "item2",
"enabled": true,
"readonly": false,
"id": "da2b8a02-cfbd-4de8-8a33-74e2a484475a"
},
"item3": {
"title": "",
"value": null,
"visible": true,
"name": "item3",
"enabled": true,
"readonly": false,
"id": "57ee45d6-41d7-45c2-b022-13220e31d2d2"
}}
SQL查询
SELECT [Key].[key] AS [ItemName], [Value].*FROM OPENJSON (@json, '$') AS [Key]CROSS APPLY OPENJSON([Key].value)
WITH (
Title VARCHAR(100) '$.title',
Value VARCHAR(100) '$.value',
Visible VARCHAR(100) '$.visible',
Name VARCHAR(100) '$.name',
Enabled VARCHAR(100) '$.enabled',
ReadOnly VARCHAR(100) '$.readonly',
Id VARCHAR(500) '$.id'
) AS [Value]