如何使用 jqwidgets 和 angular 生成特定的 json?

How to generate specific json with jqwidgets and angular?


我正在尝试将我的数据 table 的数据导出到 json 文件中。
table 是在 Angular6 上使用 JQwidget 创建的,数据来自 API.

但是,用jqwidgets的方法exportData('json');,只能做出一个json的格式table。 [{"id":"1","name":"test"},
{"id":"2","name":"toto"}]

jsonExport(): void {
    this.myDataTable.exportData('json');
  };

我不知道如何将 json 的格式更改为类似的格式:
["number":"2",
"1":{"id":"1","name":"test"},
"2":{"id":"2","name":"toto"}]

谢谢

我设法做我想做的,它是这样的:
首先,你不能用 JqWidgets https://www.jqwidgets.com/community/topic/how-to-generate-specific-json-with-exportdatajson-jqwidgets-and-angular/
那么,我的解决方案是:

  • 我在我的 Nodejs API 中创建了字符串作为 GET。

    app.get('jsonfile', function (req, res) {
      res.header("Content-Disposition", "attachment;filename=\filename.txt\"");
      connection.query('select * from heroes', function(error, results, fields) {
        if (error) throw error;
        var JSONstring = "[";
          ...
          ...
          ...
        JSONstring = "]";
        res.end(JSONstring);
        console.log(JSONstring);
      });
    });
    

  • res.header('Content-Disposition', '附件;文件名=\filename.txt\"");如果您想将此 JSON 字符串作为文件下载,则我的解决方案是强制性的。
  • 我尝试像其他端点一样使用这个端点,但我遇到了这个问题:

    ERROR 
    Object { headers: {…}, status: 200, statusText: "OK", url: "http://localhost:3000/jsonfile", ok: false, name: "HttpErrorResponse", message: "Http failure during parsing for http://localhost:3000/jsonfile", error: {…} }
    

  • 因为它不能使用按钮点击和 ts 功能。
  • 相反,我只是做了这个:

    <a href="http://localhost:3000/jsonfile" ><button>Creation JSON File</button></a>
    

    它对我有用,但如果有更好的解决方案,我会很高兴知道。

    感谢大家的帮助!