AJAX(Asynchronous JavaScript and XML)指的是一种用于创建快速动态页面的技术。它可以基于 XMLHttpRequest 对象实现数据的异步交互和部分页面的动态更新。
在使用 AJAX 请求服务端数据时,JSON(JavaScript Object Notation)是一种常用的数据传输格式。因为 JSON 不需要任何额外的解析器,而且与 JavaScript 易于集成,所以它成为了 AJAX 通讯的首选数据格式。
而当 JSON 数据中存在对象数组对象数组对象数组的时候,该如何才能正常解析呢?
{ "name": "John","age": 30,"hobbies": [ { "name": "reading","likes": [ "books","articles" ] },{ "name": "music","likes": [ "pop","rock","jazz" ] } ],"friends": [ { "name": "Lucy","age": 28,"hobbies": [ { "name": "swimming","likes": [ "pool","beach" ] },{ "name": "cooking","likes": [ "Chinese","Japanese","Italian" ] } ] },{ "name": "Tom","age": 35,"hobbies": [ { "name": "skiing","likes": [ "mountain","resort" ] },{ "name": "travelling","likes": [ "Asia","Europe","America" ] } ] } ] }
我们可以使用 jQuery 的 $.each 方法递归遍历 JSON 数据:
$.ajax({ url: 'example.json',method: 'GET',dataType: 'json',success: function(data) { $.each(data.hobbies,function(i,val) { console.log(val.name); $.each(val.likes,function(j,likesVal) { console.log(likesVal); }); }); $.each(data.friends,val) { console.log(val.name); console.log(val.age); $.each(val.hobbies,hobbiesVal) { console.log(hobbiesVal.name); $.each(hobbiesVal.likes,function(k,likesVal) { console.log(likesVal); }); }); }); },error: function() { alert('Error!'); } });
通过以上代码,我们可以把 JSON 数据中的各个对象数组对象数组对象数组遍历出来,实现对数据的解析和使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。