Tôi đang trả lại danh sách các tweet được phê duyệt từ máy chủ web ở định dạng JSON. Khi tôi đi đến URL: http://localhost:8000/showtweets/?after_id=354210796420608003
trong trình duyệt của tôi tôi nhận được JSON sau:Javascript không phân tích cú pháp số lớn trong JSON chính xác
[{
"date": "2013-07-08T12:10:09",
"text": "#RaspberryPi ist auf dem Weg :-)",
"author_pic_url": "http://a0.twimg.com/profile_images/1315863231/twitter_normal.jpg",
"id": 354210796420608004,
"author": "switol"
}]
nào có id là: 354210796420608004
.
Khi tôi thực hiện cuộc gọi GET từ Javascript, số lượng thay đổi:
function TweetUpdater() {
}
TweetUpdater.latest_id = 0;
TweetUpdater.undisplayed_tweets = new Array();
TweetUpdater.prototype.get_more_tweets = function() {
// var since_id = parseFloat(TweetUpdater.get_latestlatest_id;
// alert(since_id);
var get_tweets_url = "/showtweets/?after_id="+TweetUpdater.latest_id;
$.get(get_tweets_url, function (tweets) {
if (tweets.length > 0) {
/////////////////////////////////////////////////////////
alert(tweets[0].id+", "+ tweets[0].text); <<<<< THIS LINE
/////////////////////////////////////////////////////////
TweetUpdater.latest_id = tweets[0].id;
for (var i = 0; i < tweets.length; i++) {
TweetUpdater.undisplayed_tweets.push(tweets[i]);
}
}
}, "json");
};
Mã này cảnh báo: 354210796420608000, #RaspberryPi ist auf dem Weg :-)
354210796420608004 = 354210796420608000
Rất lẻ.
JS "số nguyên" tối đa là 2^53 = 9007199254740992. Hàng của bạn lớn hơn rất nhiều. xem ở đây http://stackoverflow.com/questions/4557509/javascript-summing-large-integers – Bakudan