javascript - JSON.parse 返回意外标记

标签 javascript jquery json

我尝试使用 JSON.parse 解析以下 JSON 字符串(从服务器生成并返回):

[{"id":1,"username":"klebermo","password":"$2a$04$YYqryKrcmUQfwmbsnhA1Te0FghiYsirxVq.Wf.kChjpEm/uuky.fu","firstName":"Kleber","lastName":"Mota","email":"klebermo@gmail.com","credenciais":[{"id":1,"nome":"user","autorizacoes":[{"id":1,"nome":"user","authority":"user"}]},{"id":2,"nome":"admin","autorizacoes":[{"id":2,"nome":"admin","authority":"admin"}]}],"enabled":true,"credentialsNonExpired":true,"accountNonLocked":true,"accountNonExpired":true,"authorities":[{"id":1,"nome":"user","authority":"user"},{"id":2,"nome":"admin","authority":"admin"}]}]

但是我得到了这个错误:

Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at Object.success ((index):186)
at i (jquery-3.2.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
at A (jquery-3.2.1.min.js:4)
at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)

发生此解析的我的 javascript 代码:

<script th:inline="javascript">
/*<![CDATA[*/
var atributos = [];

$('.col').each(function(){
    var prop = $(this).data('prop');
    atributos.push(prop);
});

var url = '/' + $('.list').data('list') + '/list.json';

$.get(url, function(data){
    var json = JSON.parse(data);

    $.each(json.item, function(index, item){
        var row = $('<tr id='+item.id+'>');

        for(var i=0; i<atributos.length; i++) {
            if(atributos[i] == '#') {
                row.append('<td></td>');
            } else if(atributos[i] == '.') {
                var col = $('<td>');
                col.append('<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#modal_update">editar</button>');
                col.append('<button type="button" class="btn btn-primary btn-lg" class="remover" data-target="'+item.id+'">remover</button>');
                row.append(col);
            } else {
                row.append('<td>'+item[atributos[i]]+'</td>');
            }
        }

        $('table.table').find('tbody.list').append(row);
    });
});
/*]]>*/
</script>

如果我尝试在多个 json 验证站点中验证 JSON 字符串,并且没有显示任何错误。 JSON 列在浏览器开发人员工具的“网络”选项卡中,并且也正确显示。

任何人都可以提示这里可能有什么问题吗?

最佳答案

它已经是一个对象了。无需解析它。 位置 1 处的 o[object Object] 中的第二个符号。

关于javascript - JSON.parse 返回意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45557116/

相关文章:

javascript - 用户界面网格 : trigger sorting in custom header template

javascript - jQuery hide() 不起作用 (IE9)

javascript - 如何在用户通过后退按钮返回页面时隐藏加载叠加层

php - jQuery AJAX - 将新数据附加到表中

javascript 取消隐藏 iframe 内的小程序

java - xml转json再转回xml返回错误

javascript - 在每个第二个元素之后添加元素

javascript - TD 的 Jquery 条件选择器

javascript - 使用 jQuery 进行 JSON 树搜索,错误

python - 如何从弹性滚动结果更快地建立 Pandas 数据框?