这篇文章主要介绍了 JS 中 JSON 对象转为字符串的简单实现方法。需要的朋友可以过来参考下,希望对大家有所帮助
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
由于 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 + "'" : 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;
(其实就是把 number 类型的忽略掉而已)
来源: