我正在尝试使用来自我们网站的JSON提要,但这种方式无法正确格式化。我可以通过$ .ajax调用首先调用它来清理feed,但希望能够将这些已清理的内容传回迭代,就像它是一个JSON对象一样。
$(document).ready(function()
{
// use ajax call as json supplied needs cleaning first
$.ajax({
url: 'JSON.txt',
success: function (data)
{
var i = 0;
var html = '';
var regex = /<!--.+?-->/g;
responseText = data.replace(regex,''); // clean up Jahia's dodgy JSON output
$('body').append(responseText);
}
});
});
任何想法如何将responseText作为JSON对象返回,以便我可以使用$ .each函数来解析文件?
答案 0 :(得分:1)
由于您已经在使用jquery,因此请使用jQuery.parseJSON()将字符串转换为JSON对象。
答案 1 :(得分:0)
您可以使用json库将文本字符串转换为json对象。
库: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
答案 2 :(得分:0)
您无法从大多数AJAX回调函数的主体返回任何内容,因为它们是异步的。一旦你格式化了JSON字符串,你可以通过评估它将它变成一个JSON对象(技术上不好的做法,但它是如何将字符串转换为对象),然后将其作为参数传递给另一个函数。所以像这样:
var newJSON = eval(responseText);
handleJSON(newJSON);
其中handleJSON必须是您在代码中其他位置定义的函数,该函数知道如何处理您将收到的响应。