Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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对象数据与标题一起附加到表中_Javascript_Jquery_Html_Json_Append - Fatal编程技术网

Javascript 将json对象数据与标题一起附加到表中

Javascript 将json对象数据与标题一起附加到表中,javascript,jquery,html,json,append,Javascript,Jquery,Html,Json,Append,我尝试将多个json文件加载到多个div中的表中 以下是我的json格式: json1: [ { "id": 12345, "code": "final", "error": "", "data": [ { "metric": 4940616.0, "title": "display" },

我尝试将多个json文件加载到多个div中的表中

以下是我的json格式:

json1:

[
    {
        "id": 12345,
        "code": "final",
        "error": "",
        "data": [
            {
                "metric": 4940616.0,
                "title": "display"
            },
            {
                "metric": 5132162.0,
                "title": "platform"
            },
            {
                "metric": 4954576.0,
                "title": "subscribers"
            },
            {
                "metric": 4882217.0,
                "title": "unique_visitors"
            }
}
json2

JavaScript/jQuery代码:

const fn2 = (th, td) => {
  $.getJSON(api, function(elem) {
    elem.forEach(d => {     
        heads = Object.keys(d.data[0]);
        col = Object.values(d.data);
          heads.forEach(headers => {
            $(th).append(`<th>${headers}</th>`);
          });
          col.forEach(cols => {
            $(td).append(`<tr><td>${cols}</td></tr>`);
          });
    });
  });
}

const fn = () => {
      $('#d').append(`
              <table border=1>
              <thead>
              <tr id='add_th_${codes}'>
              </tr>
              </thead>
              <tbody id='td_${codes}'>
              </tbody>
            </table>
      `);
      fn2(`#add_th_${codes}`, `#td_${codes}`);
}
const fn2=(th,td)=>{
$.getJSON(api,函数(elem){
元素forEach(d=>{
heads=Object.key(d.data[0]);
col=对象值(d.data);
heads.forEach(headers=>{
$(th).append(`${headers}`);
});
col.forEach(cols=>{
$(td.append(`${cols}`);
});
});
});
}
常数fn=()=>{
$('#d')。追加(`
`);
fn2(`add`th`code}`、`td`code}`);
}
我可以将标题加载到多个表中,但无法将数据添加到其中。 有办法吗?我做错了什么

这就是我当前的json1表的样子:


如何填充表格?我做错了什么?

你在forEach中的
cols
又是一个对象。在其值上添加for循环应该可以解决此问题:

const fn2=(th,td)=>{
$.getJSON(api,函数(elem){
元素forEach(d=>{
heads=Object.key(d.data[0]);
col=对象值(d.data);
heads.forEach(headers=>{
$(th).append(`${headers}`);
});
让colCells='';
col.forEach(cols=>{
Object.values(cols.forEach)(c=>{
colCells+=`${c}`;
});
追加(`${colCells}`);
});
});
}

cols
的格式类似于
{“metric”:4940616.0,“title”:“display”}
,因此需要对其进行迭代以组装
元素:

const fn2=(th,td)=>{
heads=Object.key(d.data[0]);
col=对象值(d.data);
用于(表头的var表头){
$(th).append(`${header}`);
}
for(col的var cols){
$(td)追加(``);
for(对象值的var val(COL)){
$(td.append(`${val}`);
}
$(td)追加(``);
}
}
变量d={“id”:12345,“代码”:“最终”、“错误”:“数据”:[
{“公制”:4940616.0,“标题”:“显示”},
{“公制”:51312162.0,“标题”:“平台”},
{“公制”:4954576.0,“标题”:“订阅者”},
{“metric”:4882217.0,“标题”:“唯一访问者”}
]};
var代码=1;
$('#d')。追加(`
`);
fn2(`add`th`code}`、`td`code}`);
td,th{背景:#333;颜色:白色;填充:1px4px;字体大小:13px;字体系列:segoe ui;边框:无;}选项卡,表{边框:无;}


这是给我以下格式的数据:
公制标题
.4940616显示4940616显示器51312162平台正在形成一个重复的模式,它的运行和无限循环
const fn2 = (th, td) => {
  $.getJSON(api, function(elem) {
    elem.forEach(d => {     
        heads = Object.keys(d.data[0]);
        col = Object.values(d.data);
          heads.forEach(headers => {
            $(th).append(`<th>${headers}</th>`);
          });
          col.forEach(cols => {
            $(td).append(`<tr><td>${cols}</td></tr>`);
          });
    });
  });
}

const fn = () => {
      $('#d').append(`
              <table border=1>
              <thead>
              <tr id='add_th_${codes}'>
              </tr>
              </thead>
              <tbody id='td_${codes}'>
              </tbody>
            </table>
      `);
      fn2(`#add_th_${codes}`, `#td_${codes}`);
}