Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重命名某些JSON对象属性以在HTML表中显示它_Javascript_Html_Css_Json_Dynatable - Fatal编程技术网

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
  }
}),
...