Javascript 将通用XHR响应解析为JSON对象

Javascript 将通用XHR响应解析为JSON对象,javascript,xmlhttprequest,Javascript,Xmlhttprequest,假设我们使用XMLHttpRequest在API端点上执行GET请求。端点返回某种JSON响应(可以是一个JSON对象或JSON对象数组)。获取这些响应并将其转换为通用JSON对象以保存在内存中的最佳方法是什么 例如,下面是一些代码 var xhr = new XMLHttpRequest(); xhr.open('get', myURL); arr = [] xhr.onload = function () { if(xhr.readyState == 4 && xhr

假设我们使用XMLHttpRequest在API端点上执行
GET
请求。端点返回某种JSON响应(可以是一个JSON对象或JSON对象数组)。获取这些响应并将其转换为通用JSON对象以保存在内存中的最佳方法是什么

例如,下面是一些代码

var xhr = new XMLHttpRequest();
xhr.open('get', myURL);
arr = []
xhr.onload = function ()
{
    if(xhr.readyState == 4 && xhr.status == 200){
        response = xhr.response
        // save every incoming JSON object into arr
    }
}

我希望能够编写一些通用的东西(即,它可以在任何返回JSON的API端点上工作)。有人对此有任何建议或库吗?

如果您的响应是一个字符串化JSON对象,那么您可以使用JSON.parse方法将其转换回JSON对象。我假设
xhr.responseText
符合字符串化JSON的条件?如果您得到一个JSON字符串化数组,您会怎么做?如果字符串化文本是一个JSON数组,那么JSON.parse将把它转换为JSON数组。试一试。如果您的响应是一个字符串化JSON对象,那么您可以使用JSON.parse方法将其转换回JSON对象。我假设
xhr.responseText
符合字符串化JSON的条件?如果您得到一个JSON字符串化数组,您会怎么做?如果字符串化文本是一个JSON数组,那么JSON.parse将把它转换为JSON数组。试试看。