如何在IE8兼容模式下将javascript对象转换为json字符串?

时间:2016-03-09 00:56:43

标签: javascript jquery json internet-explorer-8 stringify

我有一个在查看器内运行的应用程序,它强制应用程序在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字符串?我是否错误地定义了我的对象,或者我还需要做些什么才能让对象转换?

0 个答案:

没有答案