我有一个在查看器内运行的应用程序,它强制应用程序在IE8兼容模式下运行。我知道微软不再支持IE 8,它是一个非常糟糕的浏览器,但由于我无法控制我的浏览器,因此我必须处理这个限制。我正在尝试将对象转换为json字符串。
这是我到目前为止所做的。首先,我创建像这样的JavaScript对象
var records = {};
records['123'] = {};
records['456'] = {};
records['123']['rec_id'] = 4456;
records['123']['created_at'] = getCurrentTime();
records['123']['assigned_at'] = getCurrentTime();
records['123']['sys_id'] = 1745;
records['456']['rec_id'] = 4456;
records['456']['created_at'] = getCurrentTime();
records['456']['assigned_at'] = getCurrentTime();
records['456']['sys_id'] = 1745;
$.each(records, function(callID, record){
record['campaign_id'] = '1';
record['offset'] = getCurrentOffset();
record['attempt'] = '7';
record['phone'] = '800-123-4567';
record['identity'] = 123;
record['code'] = 'Some Code';
record['notes'] = 'Some notes';
record['completed_by'] = 'Mike A';
record['name'] = 'Mike A';
record['completed_at'] = getCurrentTime();
});
现在,我想将我的记录对象转换为json字符串。
在现代浏览器中,我可以使用JSON.stringify()来转换对象,没有任何问题。但是,JSON.stringify()
在IE 8兼容模式下不起作用。
我找到了将对象转换为json字符串jQuery JSON plugin
的替代解决方案我尝试使用jQuery JSON plugin转换我的对象
$.toJSON(records);
但是,这给了我以下错误
Line: 116
Error: Invalid procedure call or argument
URL: copy of the code in this URL https://github.com/Krinkle/jquery-json/blob/master/src/jquery.json.js
如何将对象转换为JSON字符串?我是否错误地定义了我的对象,或者我还需要做些什么才能让对象转换?