带有数据表的Javascript JSON数据

带有数据表的Javascript JSON数据,javascript,json,datatables,Javascript,Json,Datatables,我在jQuery数据表中使用JavaScript,但在将JSON数据加载到引导表中时遇到了问题 这是该表的一个示例 [ { name: 'Bryant Stone', hobbies: 'Football', favorite_team: 'Sea hawks', height: '5 Feet 10 in' }, { name: 'Jesse Smith', hobbies: 'boxing', favorite_team

我在jQuery数据表中使用JavaScript,但在将JSON数据加载到引导表中时遇到了问题

这是该表的一个示例

[ { name: 'Bryant Stone',       hobbies: 'Football',       favorite_team: 'Sea hawks',       height: '5 Feet 10 in' },
  { name: 'Jesse Smith',        hobbies: 'boxing',          favorite_team: 'Spurs',           height: '6 feet 6 in' },
  { name: 'Emily Wyclef',       hobbies: 'cooking',         favorite_team: 'Venus Williams',  height: '5 feet 2 in' }
]
在JavaScript中,我以这种格式获取数据,并将其放入JavaScript中,如下所示

$(document).ready(function(){
    $(\'#respondent\').dataTable({
        destroy: true,
        data: jsonStr1,
        columns:[   
                {title:"Name", data: "name"},
                {title:"Hobbies", data: "hobbies"},
                {title:"Favorite team" ,data: "favorite_team"},
                {title: "Height" ,data: "height"}
            ]
    });
})
当我加载页面时,它会在控制台中显示我的数据,但DataTables对话框会显示此消息

DataTable warning table id=respondent-
Requested unknown parameter 'name' for
row0, column 0. For information more.....
我不知道我还能做什么。它夺走了我整整一天的时间。任何帮助都将不胜感激

更新 感谢所有帮助过我的人,他们提供了我所做的所有回答。 这是我的html

<table class="display" id="respondent">
    <thead>

        <tr>

            <th>Name</th>
            <th>Hobbies</th>
            <th>Favorite Team</th>
            <th>Height</th>
        </tr>

    </thead>
</table>
我去了链接,但找不到任何有用的东西。 在上面的消息之后,表中会充满空白 在浏览了一些页面后,我在第一页中只看到一个字符 只有手机。那些字符不是字母就是大括号,我不知道在哪里 它们来自,因为我甚至在json数据中都看不到这样的序列 数字出现了。 它一直困扰着我,我不知道还能做什么。 任何帮助都将不胜感激

更新 我发现问题在于数据是在一个字符串中。 有人知道如何在不使用eval()的情况下将javascript中的字符串转换为object吗。JSON.parse返回字符串,而不是正在查找的对象。

小更改:

  • 数据后缺少
    选项
  • 列作为最喜爱的团队(英国英语)传递,但数据具有最喜爱的团队(美国英语)
  • 列包含嗜好,其中数据在第一行包含嗜好,而霍比在其他行中。你必须和他们匹配
  • 使用列中的
    title
    选项显示标题名称
  • 信息:该错误/警报通常是由于数据中缺少列造成的

    以下是修复上述问题的代码片段:

    $(文档).ready(函数(){
    var jsonStr1=[{名字:'Bryant Stone',爱好:'Football',最喜爱的球队:'Sea hawks',身高:'5英尺10英寸',
    {姓名:'Jesse Smith',爱好:'拳击',最喜爱的球队:'Spurs',身高:'6英尺6英寸',
    {姓名:'Emily Wyclef',爱好:'cooking',最受欢迎的团队:'Venus Williams',身高:'5英尺2英寸'}
    ];
    $(“#应答者”)。数据表({
    摧毁:没错,
    数据:jsonStr1,
    列:[
    {标题:“名称”,数据:“名称”},
    {标题:“爱好”,数据:“爱好”},
    {标题:“最喜爱的团队”,数据:“最喜爱的团队”},
    {标题:“高度”,数据:“高度”}
    ]
    });
    })
    
    
    小改动:

  • 数据后缺少
    选项
  • 列作为最喜爱的团队(英国英语)传递,但数据具有最喜爱的团队(美国英语)
  • 列包含嗜好,其中数据在第一行包含嗜好,而霍比在其他行中。你必须和他们匹配
  • 使用列中的
    title
    选项显示标题名称
  • 信息:该错误/警报通常是由于数据中缺少列造成的

    以下是修复上述问题的代码片段:

    $(文档).ready(函数(){
    var jsonStr1=[{名字:'Bryant Stone',爱好:'Football',最喜爱的球队:'Sea hawks',身高:'5英尺10英寸',
    {姓名:'Jesse Smith',爱好:'拳击',最喜爱的球队:'Spurs',身高:'6英尺6英寸',
    {姓名:'Emily Wyclef',爱好:'cooking',最受欢迎的团队:'Venus Williams',身高:'5英尺2英寸'}
    ];
    $(“#应答者”)。数据表({
    摧毁:没错,
    数据:jsonStr1,
    列:[
    {标题:“名称”,数据:“名称”},
    {标题:“爱好”,数据:“爱好”},
    {标题:“最喜爱的团队”,数据:“最喜爱的团队”},
    {标题:“高度”,数据:“高度”}
    ]
    });
    })

    列名的打字错误-业余爱好被称为“hobbie”,favourite\u团队被称为最喜爱的团队

    为所有对象保留相同的属性名称以避免该错误

    代码样本供参考-

    HTML:


    列名输入错误-爱好被称为“霍比”,favourite\u团队被称为最喜爱的团队

    为所有对象保留相同的属性名称以避免该错误

    代码样本供参考-

    HTML:



    你是想逃避那一部分吗<代码>$(\'\'应答者\')
    该代码绝对没有问题(为了使其正常工作)->您是否打算逃避这一部分<代码>$(\'应答者\')
    该代码绝对没有问题(为了使其正常工作)->感谢您的帮助,我已经做了更改,但仍然保持不变,您可以尝试用我的代码替换您的代码并尝试更新代码笔和答案,没有看到我这边的任何错误,你在使用你这边的css吗?-谢谢你的帮助,我已经做了更改,但仍然是一样的。你可以尝试用我的代码替换你的代码,然后尝试??更新代码笔和答案,没有看到我这边的任何错误,你在使用你这边的css吗?-谢谢,我已经做了必要的更改,并添加了标题选项,但错误消息与此相同。您能将您的代码与我发布的代码匹配吗?如果它仍然不起作用,你能发布你的新代码和更改吗?谢谢代码已经更新。已显示修改。谢谢你的帮助。我希望我能完成这项工作,看起来它工作得很好。代码中有一个JSFIDLE:这是一个将字符串转换为对象的问题。谢谢,我已经做了必要的更改,并添加了标题选项,但在e
    DataTables warning: table id=respondent- 
    Requested unknown parameter 'name' for 
    row 0, column 0, for more information about this 
    error, please see http://datatables.net/tn/4
    
    <table class="display" id="respondent">
        <thead>
    
            <tr>
    
                <th>Name</th>
                <th>Hobbies</th>
                <th>Favorite Team</th>
                <th>Height</th>
            </tr>
    
        </thead>
    </table>
    
    var jsonStr1 = [ { name: 'Bryant Stone',  hobbies: 'Football', favorite_team: 'Sea hawks',       height: '5 Feet 10 in' },
      { name: 'Jesse Smith', hobbies: 'boxing', favorite_team: 'Spurs',           height: '6 feet 6 in' },
      { name: 'Emily Wyclef', hobbies: 'cooking',  favorite_team: 'Venus Williams',  height: '5 feet 2 in' }
    ]
    
    $(document).ready(function() {
     $('#respondent').dataTable({
            destroy: true,
            data: jsonStr1,
            columns:[   
                {title:"Name", data: "name"},
                {title:"Hobbies", data: "hobbies"},
                {title:"Favorite team" ,data: "favorite_team"},
                {title: "Height" ,data: "height"}
            ]
        });
    } );