Jquery 用于阵列Google Apps脚本的JSON筛选器和不同值

Jquery 用于阵列Google Apps脚本的JSON筛选器和不同值,jquery,json,filter,google-apps-script,pivot,Jquery,Json,Filter,Google Apps Script,Pivot,我有一个从查询到sql数据库的结果集,该数据库有3列—类别、文件类型和状态。我将集合作为JSON返回到html,并希望显示唯一类别以及该类别状态为“fail”的匹配文件类型 在我这边,我有: function checkStatus(form) { var conn = getConnection(); var stmtquery = conn.prepareStatement("SELECT Category, FileType, Status FROM ExtDo

我有一个从查询到sql数据库的结果集,该数据库有3列—类别、文件类型和状态。我将集合作为JSON返回到html,并希望显示唯一类别以及该类别状态为“fail”的匹配文件类型

在我这边,我有:

    function checkStatus(form) {

    var conn = getConnection(); 
    var stmtquery = conn.prepareStatement("SELECT Category, FileType, Status FROM ExtDocStatus WHERE AppID = ? AND Expected = 'Y'");
    stmtquery.setString(1, appID);
    var results = stmtquery.executeQuery();
    var resultsArray = [];
    while (results.next()) {
    resultsArray.push({'Category': results.getString(1),
                       'FileType': results.getString(2),
                       'Status': results.getString(3)});
        }



    return JSON.stringify(resultsArray)

  //} catch (error) {
  //  return error.toString();
  //}

}
我不太确定如何在我的html页面上构造此内容,但到目前为止:

function submitForm() {
        var form = $('#Form')[0];
            checkForm(function(){
            $("#submit-button")[0].value = 'Checking Status...';

            google.script.run
            .withSuccessHandler(function onSuccess(data) {
                    var data = JSON.parse(data);
                    if (data == '') {
                    $("#modal-body").html("<strong>We have no records in our system for you</strong>");

                    }
                    else {
                        $.each(data.Category, function()
                        $("#modal-body").html('<p><strong>Our system indicates you have opted in for the following categories:<strong></p><ul>');
                            for(var x in data) {
                                $("#modal-body").append('<p><strong>'+data[x].Category+'</strong></p>');
                                $("#modal-body").append('<ul>')
                                $("#modal-body").append('<li><span style="color: red;"><strong>'+data[x].FileType+'</strong></span></li>');
                                $("#modal-body").append('</ul>');
                    }
                $("#submit-button")[0].value = 'Check Status';
                $("#dialog").modal('show');

            })
            .withFailureHandler(function(error) {
                alert(error);
            })
            .checkStatus(form);

            });





    }
函数submitForm(){
变量形式=$('形式')[0];
检查表单(函数(){
$(“#提交按钮”)[0]。值='正在检查状态…';
google.script.run
.withSuccessHandler(函数onSuccess(数据){
var data=JSON.parse(数据);
如果(数据=“”){
$(“#模态体”).html(“我们的系统中没有您的记录””;
}
否则{
$.each(data.Category,function()
$(“#模态体”).html(“我们的系统表明您选择了以下类别:
    ”); 用于(数据中的var x){ $(“#模态体”)。追加(“”+数据[x]。类别+”

    ”); $(“#模态体”).append(“
      ”) $(“#模态体”).append(“
    • ”+数据[x]。文件类型+”
    • ”); $(“#模态体”)。追加(“
    ”); } $(“#提交按钮”)[0]。值=“检查状态”; $(“#dialog”).modal('show'); }) .withFailureHandler(函数(错误){ 警报(错误); }) .检查状态(表格); }); }

事实上,我会得到一个所有类别的列表和所有文件类型的列表,但我只想将类别限制为distinct(不考虑文件类型或状态),然后是具有失败状态的匹配文件类型的列表。一位好友建议创建一个包含(.each)的透视表并基于键将数据推送到一个新数组,但不太确定如何实现。如有任何建议,我们将不胜感激。

您不能修改SQL查询以实现所需功能吗?您不能修改SQL查询以实现所需功能吗?您不能修改SQL查询以实现所需功能吗?