将 JSON 数据嵌套到 Datatable 中不起作用
Posted
技术标签:
【中文标题】将 JSON 数据嵌套到 Datatable 中不起作用【英文标题】:Nested JSON data into Datatable not working 【发布时间】:2021-04-14 10:00:16 【问题描述】:所以我有一个很长的(嵌套的)JSON 数组(我已经缩小了它):
"items" : [
"track" :
"album" :
"name" : "Pressure Makes Diamonds"
,
"artists" : [
"name" : "Danny Vera"
],
"href" : "https://api.spotify.com/v1/tracks/7rO7Pc5dkC2EIW1OKsCJtQ",
"name" : "Roller Coaster"
,
"track" :
"album" :
"name" : "Amigo"
,
"artists" : [
"name" : "Chef'Special"
],
"href" : "https://api.spotify.com/v1/tracks/6yvxKrf9KZLTodXFTBmdR1",
"name" : "Nicotine"
,
"track" :
"album" :
"name" : "Lines (New Version)"
,
"artists" : [
"name" : "Niels Geusebroek"
],
"href" : "https://api.spotify.com/v1/tracks/62En58kZelNGnGvmJUMVC0",
"name" : "Take Your Time Girl (live at ruud de wild/538)"
]
我正在尝试使用以下代码在数据表中显示它:
<script>
$(document).ready(function()
$('#table_id').DataTable(
processing: true,
data: !! $response !!, // <= this is where the JSON comes from (Laravel)
columns: [
"track" : "name" ,
"track" : "album.name" ,
"track" : "artists[0].name"
]
)
)
</script>
有人知道我做错了什么吗? 我查看了数据表 (Datatables) 并关注了它,但它仍然无法正常工作...
【问题讨论】:
Laravel 有 yajrabox.com/docs/laravel-datatables/master/installation 试试这个"track"
不是列的有效 DataTables 选项。我怀疑您的意思是在您的columns
部分中使用"data"
- 可能像这样:"data" : "track.album.name"
。请参阅示例页面here。但要使其正常工作,您还需要主 data
选项 data: !! $response !!
指向 "items"
,因为这是将迭代的数组 DataTables 的名称。
【参考方案1】:
知道了:
<script>
$(document).ready(function()
$('#table_id').DataTable(
processing: true,
data: !! $response !!["items"],
columns: [
"data" : "track.name" ,
"data" : "track.album.name" ,
"data" : "track.artists[0].name"
]
)
)
</script>
谢谢大家!!
【讨论】:
以上是关于将 JSON 数据嵌套到 Datatable 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript + Jquery DataTable - 将数据传递到 defaultContent json 列
h:commandButton 在 h:dataTable 中不起作用