简体   繁体   English

如何将HAL JSON数据转换为jQuery DataTables的JSON数组

[英]How do I convert HAL JSON data into JSON array for jQuery DataTables

I need output data in JSON array format to use with jQuery DataTables but my API from Apigility gives HAL+JSON. 我需要JSON数组格式的输出数据才能与jQuery DataTables一起使用,但是我的Apigility API提供了HAL + JSON。 How can I convert it so that I can pass it from fetchAll method of API to AJAX URL of Datatables? 如何转换它,以便可以将其从API的fetchAll方法传递到Datatables的AJAX URL?

Here is what the HAL+JSON looks like: 这是HAL + JSON的样子:

{"_links":{"self":{"href":"http:\/\/parekh.com\/exportmanager\/courses"}},"_embedded":{"courses":[{"Module Title":"Preventing Harassment","Module ID":"HUR602","Module Language":"English"},{"Module Title":"Conflict","Module ID":"COM236","Module Language":"Dutch"},{"Module Title":"Workplace","Module ID":"HUR711","Module Language":"Dutch"}]},"total_items":3}

SOLUTION

No need to convert the format of the data, jQuery DataTables is able to read complex structures when correct options are used. 无需转换数据格式,当使用正确的选项时,jQuery DataTables就能读取复杂的结构。

Use ajax.dataSrc option to define data source for the table and columns.data option to set data source for each column. 使用ajax.dataSrc选项定义为表和数据源columns.data选项来设置数据源对于每一列。

var table = $('#example').DataTable({
    ajax: {
        url: 'https://api.myjson.com/bins/3ebaq',
        dataSrc: '_embedded.courses'
    },
    columns: [
        { data: 'Module Title' },
        { data: 'Module ID' },
        { data: 'Module Language' }
    ]
});

DEMO DEMO

See this jsFiddle for code and demonstration. 有关代码和演示,请参见此jsFiddle

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM