Я использовал $ .getJSON JQuery для получения списка твитов, и по неизвестной причине некоторые из идентификаторов твитов были округлены от "id": 34903960418516968,
до "id": 34903960418516970,
Так что вместо этого я попытался использовать $ .ajax с dataType:"text", а затем сделал преобразование в JSON через parseJSON, JSON.parse и eval, которые не работали .Единственное решение, которое я нашел, было сделать тип данных ID String вместо Number, пока источник JSON все еще находится в текстовом формате.Я окружил фактический идентификатор двойными кавычками ", и для этого я использовал следующее регулярное выражение.
data = data.replace(/\"id\": (\d{15,}),/gi, "\"id\": \"$1\",");
ajax call
$.ajax({
async: true,
url: tweetsUrl,
dataType: "text",
success: getTweetsResult
});
getTweetsResult
function getTweetsResult(data, textStatus, xhr){
//remove trailing ,
data = data.substring(0, data.lastIndexOf(",]")) + "]";
//convert tweet.id to string because the eval of JS is rounding up some of the number
data = data.replace(/\"id\": (\d{15,}),/gi, "\"id\": \"$1\",");
//console works with Chrome
// console.log(data);
var tweetList = $.parseJSON(data);
generateTweets("tweets", "tweetGrid", tweetList, 3, tweets);
applyRollOverGridItems();
}