javascript - JSON.Stringify 覆盖数据

标签 javascript jquery json object

JSON.Stringify 似乎不适用于我的对象。我的代码是这样的:

var LessonTimes={}, CurrentLesson={}, LessonTimeID=1;
$('.AddTimeSection').each(function(e){
    CurrentLesson['day']=$(this).find('.AddTimeDay').val();
    CurrentLesson['start']=$(this).find('.AddTimeStart').val();
    CurrentLesson['end']=$(this).find('.AddTimeEnd').val();
    CurrentLesson['notes']=$(this).find('.AddTimeNotes').val();
    CurrentLesson['id']=LessonTimeID;
    LessonTimes[LessonTimeID]=CurrentLesson;
    console.log(LessonTimes[LessonTimeID]);
    LessonTimeID+=1;
});
console.log(JSON.stringify(LessonTimes));

我的 JSON.stringify 的输出如下。正如您所看到的,最后一个对象是重复的,但我无法弄清楚为什么,因为所有单个对象都是正确的。

Object {day="Mon", start="15:00", end="16:00", id=1, ...}
Object {day="Tue", start="16:00", end="17:00", id=2, ...}
Object {day="Wed", start="17:00", end="18:00", id=3, ...}
JSON = {"1":{"day":"Wed","start":"17:00","end":"18:00","notes":"","id":3},"2":{"day":"Wed","start":"17:00","end":"18:00","notes":"","id":3},"3":{"day":"Wed","start":"17:00","end":"18:00","notes":"","id":3}}

最佳答案

这不是 JSON 的问题。

您需要在每次迭代时重新分配 CurrentLesson={}。否则,您将更改同一个对象。

关于javascript - JSON.Stringify 覆盖数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22593240/

相关文章:

javascript - Rails 通过 ajax 发出闪光通知

javascript - HTML : hiding input radios on form submit

javascript - 重置动态更改 jQuery-mobile-Slider 时出现奇怪错误

Android数据存储,什么时候用Sqlite,什么时候用JSON,Linq替代品

android - 如何将数据从 android 发送到 SQL Server 2008?

java - 如何在java中将字符串文字与json对象一起发送?

javascript - JS 中的箭头和词法范围

javascript - HTML5 : Display images dropped in dropzone in img tag

javascript - 调整窗口大小导致按钮移动到下一行

javascript - jQuery点击事件一次点击触发多次