gpt4 book ai didi

javascript - 处理 JSON 字符串会出现 JavaScript 错误

转载 作者:行者123 更新时间:2023-11-28 13:25:33 24 4
gpt4 key购买 nike

作为我正在构建的项目管理应用程序的一部分,每个项目任务都会有一个面板,显示该特定任务记录的事件和评论。这些Events将返回为 JSON服务器通过 AJAX 请求获取结果。

下面只是一个快速的 JavaScript 测试,用于加载由 3 个测试事件记录组成的模型 JSON 字符串。

它应该从字符串加载它们,实时应用程序将从 AJAX 调用加载它们。

然后它将迭代结果并将它们注入(inject)到页面 DOM 中。

我的问题是下面的代码在控制台中显示此错误......

Uncaught SyntaxError: Unexpected token o

下面是产生错误消息的示例代码,这里还有一个 JSFiddle/JSBin 演示来查看实时问题...... http://jsbin.com/zusehaxeya/1/edit?js,output

var sampleJsonData = {
"task_events": [{
"commentId": 100000000,
"projectId": 100000000,
"taskId": 100000000,
"userId": 100000000,
"created_at": "2009-02-15",
"event_type": "Task Completed",
"userName": "Edward White",
"description": "Ut Excepteur dolor sed magna in sed cupidatat eu cupidatat voluptate velit ut Lorem amet, Excepteur fugiat et labore velit cupidatat nisi sunt laboris tempor in velit dolore velit fugiat do irure anim consequat. Ut nisi magna proident, quis incididunt pariatur. cupidatat sunt nulla reprehenderit exercitation mollit Duis aliqua. officia id minim irure ad deserunt ipsum"
}, {
"commentId": 100000001,
"projectId": 100000001,
"taskId": 100000001,
"userId": 100000001,
"created_at": "2007-04-07",
"event_type": "Project File Uploaded",
"userName": "Christopher Perez",
"description": "consectetur consequat. tempor do quis voluptate proident, est irure exercitation tempor cillum ut Lorem et veniam, Excepteur elit, reprehenderit laborum enim occaecat esse magna eiusmod sit voluptate Lorem enim incididunt cillum quis est Duis proident, anim Excepteur dolore in eu tempor aliqua."
}, {
"commentId": 100000002,
"projectId": 100000002,
"taskId": 100000002,
"userId": 100000002,
"created_at": "1975-06-20",
"event_type": "Task Deleted",
"userName": "Paul Anderson",
"description": "pariatur. in consequat. officia ex irure velit"
}]
};


// Parse JSON data var
var taskEventsJson = $.parseJSON(sampleJsonData);
var task_events = taskEventsJson.task_events;

// Loop over each Task Event record returned
$.each(task_events, function(i, event){
console.log(event.commentId);
console.log(event.created_at);

//now json variable contains data in json format
//let's display a few items
$('#results').append('Comment ID: ' + event.commentId + '<br />Created DateTime: ' + event.created_at);


});

最佳答案

sampleJsonData 不是 JSON 字符串。在我们的例子中,您不需要使用 parseJSON。当你有 JSON 字符串,并且想要将其转换为 JavaScript 对象时,你应该使用 parseJSON,就像这样

var sampleJsonData = '{"x": 1}';
$.parseJSON(sampleJsonData);

关于javascript - 处理 JSON 字符串会出现 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29523685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com