IE6과 7에서는 JSON.stringify(json)를 지원하지 않기 때문에 이 메서드를 대체하기 위해 다른 함수를 작성해야 합니다. 코드는 다음과 같습니다.
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;
}
for (var i in o) arr.push("'" i "':" fmt(o[i]));
return '{' arr.join (',') ' }';
}
추가로: json의 숫자를 문자열화하지 않으려면 다음과 같이 수정할 수 있습니다.
return /^(string|number)$/.test(typeof s) ? '"' s '"' : s;
은: return /^(string)$/.test(typeof s) ? '"' s '"' : s;
(사실 숫자형은 그냥 무시하세요)