Since IE6 and 7 do not support JSON.stringify(json), we have to write another function to replace this method. The code is as follows:
function JsonToStr(o) {
var arr = [];
var fmt = function(s) {
if ( typeof s == 'object' && s != null) return JsonToStr(s);
return /^(string|number)$/.test(typeof s) ? "'" s "'" : s;
}
for (var i in o) arr.push("'" i "':" fmt(o[i]));
return '{' arr.join(',') ' }';
}
In addition: If you don’t want the numbers in json to be stringified. You can modify it:
return /^(string|number)$/.test(typeof s) ? '"' s '"' : s;
is: return /^(string)$/.test(typeof s) ? '"' s '"' : s;
(In fact, just ignore the number type)