Javascript未正确解析JSON中的大量数据
Javascript not parsing large number in JSON correctly
我以JSON格式从Web服务器返回一个已批准的tweet列表。当我转到浏览器中的URL:http://localhost:8000/showtweets/?after_id=354210796420608003
时,我会得到以下JSON:
[{
"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"
}]
其id为:354210796420608004
。
当我从Javascript进行GET调用时,号码会发生变化:
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");
};
此代码提醒:354210796420608000, #RaspberryPi ist auf dem Weg :-)
354210796420608004!=354210796420608000
很奇怪。
要解决这个问题,只需将id
设为字符串即可——无论如何,您都不会使用它进行计算。不过,您必须在原始JSON中这样做,否则精度损失已经发生在JSON.parse
。
在使用twitter API时,尝试使用id_str而不是id,它应该有效。看看这个https://dev.twitter.com/discussions/11284.
相关文章:
- 无法使用变量访问数据 JSON
- 使用 ng-repeat解析不均匀数据/ json对象
- 在没有jsonp的情况下从另一个域获取数据(json格式)
- 如何获取带参数的数据json
- 如何在android中显示实时雅虎金融股票数据..json格式如下所示
- 使用 JavaScript 将数据 json 显示到网页中
- 高位图表来源于API数据(JSON)
- 使用动态数据json初始化同位素
- Django:将数据JSON从视图传递给javascript
- 存储配置数据 (json)
- 未捕获的SyntaxError:意外的标识符图像数据json
- 接收数据json/jquery
- Jquery数据表数据json
- 不能在cakephp中使用数组数据json
- 在不锁定浏览器的情况下,将大数据JSON从REST请求反序列化为对象
- 如何读取数据JSON格式数组的字符串数据
- 我有一个流星应用程序,需要从/public/_assets/results/mmresults读取数据.Json文件,在
- 数据json不显示在html
- 使用2个下拉列表创建2个并排的表行来比较数据- JSON
- 需要将复杂的json对象转换为合适的angularjs UI树数据json结构