嵌套对象数据(对象)

通过使用 columns.data 选项,DataTables 能够使用几乎任何 JSON 数据源中的数据。在最简单的情况下,它可以用于读取任意对象属性,但也可以通过使用标准的 Javascript 点分对象表示法扩展到 n 级嵌套对象/数组。在 columns.data 选项中每个点 (.) 代表另一个对象级别。

在这个示例中,hr.position 指的是行数据源对象中的 hr 对象的 position 属性,而 contact.0 指的是 contact 数组中的第一个元素。可以使用任意数量的点来获取深度嵌套的数据。

下面的示例显示了 DataTables 从嵌套对象和数组读取列的信息,其中此示例中行数据源的结构为

{
	"name": "Tiger Nixon",
	"hr": {
		"position": "System Architect",
		"salary": "$3,120",
		"start_date": "2011/04/25"
	},
	"contact": [
		"Edinburgh",
		"5421"
	]
}
名称 职位 办公室 分机号 入职日期 工资
名称 职位 办公室 分机号 入职日期 工资
  • Javascript
  • HTML
  • CSS
  • Ajax
  • 服务器端脚本
  • 评论

下面显示的 Javascript 用于初始化此示例中显示的表格

$('#example').DataTable({ ajax: 'data/objects_deep.txt', columns: [ { data: 'name' }, { data: 'hr.position' }, { data: 'contact.0' }, { data: 'contact.1' }, { data: 'hr.start_date' }, { data: 'hr.salary' } ], processing: true });
new DataTable('#example', { ajax: 'data/objects_deep.txt', columns: [ { data: 'name' }, { data: 'hr.position' }, { data: 'contact.0' }, { data: 'contact.1' }, { data: 'hr.start_date' }, { data: 'hr.salary' } ], processing: true });

除了以上代码,还加载了以下 Javascript 库文件以用于此示例

    下面显示的 HTML 是原始的 HTML 表格元素,在它被 DataTables 增强之前

    为了正确显示表格,此示例使用少量的附加 CSS,这些附加 CSS 超出了从库文件(见下文)中加载的 CSS。下面显示了所使用的附加 CSS

    加载了以下 CSS 库文件,以用于此示例,以便为该表格提供样式

      此表格通过 Ajax 加载数据。下面显示了已加载的最新数据。此数据将随着加载任何附加数据而自动更新。

      下面显示了用于为该表格执行服务器端处理的脚本。请注意,这只是一个使用 PHP 的示例脚本。服务器端处理脚本可以用任何语言编写,使用 DataTables 文档中描述的协议

      其他示例