Javascript 如何重命名某些JSON对象属性以在HTML表中显示它
如果我有一个从数据库获取的对象列表Javascript 如何重命名某些JSON对象属性以在HTML表中显示它,javascript,html,css,json,dynatable,Javascript,Html,Css,Json,Dynatable,如果我有一个从数据库获取的对象列表 [{ "id":0 ,"name":"John", "lastname":"Shell" },{ "id":1,...]; 这将导致(动态表插件): 但是,在html中生成表时,我不希望在“th”上显示id,而是希望在不更改实际JSON的情况下将其重命名为securityNumber <table id="tabela"> <thead> <th>id</th>
[{ "id":0 ,"name":"John", "lastname":"Shell" },{ "id":1,...];
这将导致(动态表插件):
但是,在html中生成表时,我不希望在“th”上显示id,而是希望在不更改实际JSON的情况下将其重命名为securityNumber
<table id="tabela">
<thead>
<th>id</th>
<th>name<th>
<th>last_name<th>
</thead>
</table>
身份证件
名称
姓
我不能仅仅替换id,因为插件通过JSON对象的属性标识列名称
我尝试过不同的插件,我正在使用dynatable(已经在文档中搜索过),但我对另一种解决方案持开放态度
如何继续?您可以在
textcransform
上添加自定义格式方法,并在其中写入列名的映射。检查文档
这种方法的一个例子可能是
dynatable.utility.textTransform.customColumnName = function(text) {
if (text) === 'id' return 'security_number'
return text
}
或者,您可以使用array.map
转换数组,而不需要更改源JSON,例如:
...
records: data.map((item) => {
return {
security_number: item.id,
name: item.name,
last_name: item.last_name
}
}),
...
查看
dynatable
插件的文档,我敢打赌它为您提供了一种方法来指定与JSON属性不同的列名。这里是:
...
records: data.map((item) => {
return {
security_number: item.id,
name: item.name,
last_name: item.last_name
}
}),
...