在JavaScript中迭代JSON响应的有效方法

时间:2015-06-19 01:58:58

标签: javascript json

我一直在审核可汗学院API(https://github.com/Khan/khan-api/wiki/Khan-Academy-API),并将http://www.khanacademy.org/api/v1/topictree标识为主要的API调用。我使用以下代码获取表示实际网站上相同菜单结构的类别列表。

$(document).ready(function() {
$.ajax({
url: "http://www.khanacademy.org/api/v1/topictree",
type: 'GET',
dataType: "json",
success: function(data) {                               
        for(var i = 0; i < data.children.length; i++)
        {                       
            //$("#mylist").append("<a href='http://myurl.com/Courses.html?CatId="+data.children[i].id+"'>"+data.children[i].title+"</a><br/>");             
        }        
    }
  }); 
});

我无法找到最有效的方法来获取某个类别的子项,然后打印出其网址和名称的值。每次我尝试调用API时,我的浏览器都会挂起,因为JSON响应大约是40mb的数据。 https://github.com/Khan/khan-api/wiki/Khan-Academy-API处的GITHUB站点提到您应按主题进行筛选,但提供的示例不在根级别,因此我无法确定partent与child的关系。

有人可以帮我找到一种有效的方法来解析JSON响应并获得每个顶级类别的子值吗?此外,在提交任何代码之前,您使用什么工具来迭代API调用和JSON响应?感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:0)

  

此外,在提交任何代码之前,您使用什么工具来迭代API调用和JSON响应?

如果您在开始编码之前要求工具检查请求对API的响应,那么Google Chrome扩展程序Advances Rest Client就是为此而设计的。其他主流浏览器很可能具有相同的扩展名。