如何在IE中重命名json键的值

时间:2018-03-08 11:01:25

标签: javascript jquery json internet-explorer key

function replaceJsonStringify( key, value1 ) {

    var $edit = $("#trafficLog");
    var currentValue = $edit.val();
    var jsonConnect = { "time":getLongTime(), [key] : value };
    var jsonObj = JSON.stringify(jsonConnect);
    var newValue = jsonObj + "<br>" + currentValue;

    $edit.val(replaceBR(newValue));   }

replaceJsonStringify( "connectFlag", connect );

我想重命名json键的值。

以上代码在Chrome中运行良好,但在IE11,10 ..

中无效

我想知道如何重命名json键的值

代码中的问题是&#34; [关键]:价值&#34;

IE调试:SCRIPT1028: Expected identifier, string or number.

请回答这个问题。

2 个答案:

答案 0 :(得分:0)

我猜IE还无法理解对象中的计算属性。改变这个:

var jsonConnect = { "time":getLongTime(), [key] : value };

到此:

var jsonConnect = { time: getLongTime() }
jsonConnect[key] = value;

答案 1 :(得分:0)

IE不支持计算属性名称。您需要替换此行:

var jsonConnect = { "time":getLongTime(), [key] : value };

用这个:

var jsonConnect = { "time":getLongTime() };
jsonConnect[key] = value;

有关详细信息,请参阅this document