JS 中使用 SQL 查询 JSON 数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 中使用 SQL 查询 JSON 数据相关的知识,希望对你有一定的参考价值。

参考技术A JsonSQL 可以方便的使用 sql 语句查询 json 数据。

示例:

源码很简洁 jsonsql-0.1.js :

可以直接使用源码方式,demo地址:

http://files.cnblogs.com/zhangchen/JsonSQL.rar

也可以使用 npm 安装,地址:

https://www.npmjs.com/package/jsonsql

需要 SQL 查询帮助以解析 BigQuery 表中的 JSON 数据

【中文标题】需要 SQL 查询帮助以解析 BigQuery 表中的 JSON 数据【英文标题】:Need assistance with SQL query to parse JSON data from BigQuery table 【发布时间】:2021-12-03 05:35:50 【问题描述】:

我正在使用 BigQuery 会话表来查询产品字段。但我只能查询具有硬编码索引值的第一行。有人可以帮助我使用 SQL 查询来解析 JSON 吗?

查询:

select visitId, hits[OFFSET(0)].product[OFFSET(0)].productSKU, hits[OFFSET(0)].product[OFFSET(0)].v2ProductName 
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`
LIMIT 5

示例会话表数据:

[
  
    "visitId": "1501583974",
    "hits": [
      
        "product": [
          
            "productSKU": "GGOEGESB015199",
            "v2ProductName": "Test 1"
          ,
          
            "productSKU": "GGOEGESB015200",
            "v2ProductName": "Test 2"
          
        ]
      
    ]
  
]

预期结果:

【问题讨论】:

您能否重新表述您的问题以使其更易于理解?您在将嵌套数据插入 BigQuery 表时是否遇到问题?或者你想知道如何查询它? @KrishnuSengupta - 我已经更新了正文。我只想知道如何查询JSON数据。 【参考方案1】:

我运行了以下查询:

select visitId, n.productSKU, n.v2productName from (select visitId, m.product
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`, unnest(hits) as m
LIMIT 5), unnest (product) as n

在内部查询中,我取消嵌套结构“命中”的数组,而在外部查询中,我取消嵌套结构“产品”的内部数组。

输出:

【讨论】:

谢谢你,@KrishanuSengupta。这正是我一直在寻找的。我还找到了关于 UNNEST 的有用解释。 - 要将 ARRAY 转换为一组行,也称为“展平”,请使用 UNNEST 运算符。 UNNEST 接受一个 ARRAY 并为 ARRAY 中的每个元素返回一个包含一行的表。

以上是关于JS 中使用 SQL 查询 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章

node.js 异步使用 SQL

php查询sql表中数据,存在则返回显示1,不存在显示0

kbmmw 中JSON 中使用SQL 查询

node.js 从 mysql 查询中获取结果

C#代码中从SQL中查询到的DataTable传到一个javascript 函数中,请问怎么实现,最好有实例,非常感谢!!!

使用AJAX请求json类型的列表数据从chart.js动态输出到气泡图中