把后面的值也加上引号,var t = '{"ItemId":“11955115376350605”}';
eval()是可以计算字符串,并执行其中方法的 var t = '{"ItemId":11955115376350605}'; to var t = '{"ItemId":"11955115376350605"}'; 就没问题了 因为没有加“”,所以被按照整数来计算,它的长度是不可以超过16位,即65535,超过了就会失去精度
var data = eval('(' + t.replace(/:(\d+)/, ':"$1"') + ')');
var t = '{"ItemId":11955115376350605}';
to
var t = '{"ItemId":"11955115376350605"}';
就没问题了
因为没有加“”,所以被按照整数来计算,它的长度是不可以超过16位,即65535,超过了就会失去精度