如何使用 alasql 查询 json 文件

How to query an json file with alasql

提问人:BENOIT TAMBWE 提问时间:9/12/2023 更新时间:11/15/2023 访问量:14

问:

亲爱的,我第一次使用 alasql,我需要一些帮助

我的控制台 0:乙 :16 idCatQuestion:未定义

我有一个具有此结构的输出 JSON

var c= [
                          {
                            "0": "1",
                            "1": {
                              "idCatQuestion": "1",
                              "idSousCatQuestion": "1",
                              "designation": "objectifs 1"
                            }
                          },
                          {
                            "0": "2",
                            "1": {
                              "idCatQuestion": "1",
                              "idSousCatQuestion": "2",
                              "designation": "Objectifs 2"
                            }
                          },
                          {
                              "0": "3",
                              "1": {
                                  "idCatQuestion": "2",
                                  "idSousCatQuestion": "3",
                                  "designation": "Objectif 3"
                              }
                          },
           ]

我想用alasql进行查询,这是我的代码

var res = alasql('SELECT idCatQuestion, COUNT(*) AS b FROM ? GROUP BY idCatQuestion',[c]);
console.log(res);
alasql

评论


答:

0赞 mathiasrw 11/15/2023 #1

您遇到的问题是由于数据的结构以及您在查询中访问数据的方式造成的。

数据数组 c 包含键为“0”和“1”的对象,其中“1”键包含另一个具有要查询的属性(idCatQuestion、idSousCatQuestion、designation)的对象。若要访问 AlaSQL 中的这些嵌套属性,需要调整查询。

请尝试以下修改后的查询版本:

var res = alasql('SELECT [1]->idCatQuestion as idCatQuestion, COUNT(*) AS b FROM ? GROUP BY [1]->idCatQuestion', [c]);
console.log(res);

在此查询中,用于访问嵌套在数组 c 的每个元素中的“1”键下的对象的 idCatQuestion 属性。这应该按 idCatQuestion 正确地对数据进行分组并计算出现次数。[1]->idCatQuestion