如何将 HAL JSON 数据转换为 JSON 数组以用于 jQuery DataTables
How do I convert HAL JSON data into JSON array for jQuery DataTables
我需要 JSON 数组格式的输出数据以与 jQuery DataTables 一起使用,但我的 API 来自 Apigility 提供 HAL+JSON。我如何转换它以便我可以将它从 API 的 fetchAll 方法传递给 Datatables 的 AJAX URL?
这是 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
无需转换数据格式,jQuery DataTables 在使用正确的选项时能够读取复杂的结构。
使用ajax.dataSrc
option to define data source for the table and 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
有关代码和演示,请参阅 this jsFiddle。
我需要 JSON 数组格式的输出数据以与 jQuery DataTables 一起使用,但我的 API 来自 Apigility 提供 HAL+JSON。我如何转换它以便我可以将它从 API 的 fetchAll 方法传递给 Datatables 的 AJAX URL?
这是 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
无需转换数据格式,jQuery DataTables 在使用正确的选项时能够读取复杂的结构。
使用ajax.dataSrc
option to define data source for the table and 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
有关代码和演示,请参阅 this jsFiddle。