六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 119|回复: 0

javascript 将对象转换为JSON对象

[复制链接]

升级  79.33%

51

主题

51

主题

51

主题

秀才

Rank: 2

积分
169
 楼主| 发表于 2013-1-29 08:53:18 | 显示全部楼层 |阅读模式
var userName;var age;// Person对象var Person = function(userName, age) {this.userName = userName;this.age = age;}// 数组var personArrays = new Array();var p1 = new Person("DT", 22);var p2 = new Person("Jacky", 26);var p3 = new Person("Lily", 21);personArrays.push(p1);personArrays.push(p2);personArrays.push(p3);// 将array里面所有的Json对象转成字符串function f_evalArray(obj) {var arrays = obj;for (var i = 0;i < arrays.length; i++) {if (typeof arrays[i] == "object") {arrays[i] = obj2str(arrays[i]);}}return "[" + arrays + "]";}// json对象转字符串function obj2str(o) {var r = [];if (typeof o == "string")return "\""+ o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";if (typeof o == "object") {if (!o.sort) {for (var i in o)r.push(i + ":" + obj2str(o[i]));if (!!document.all&& !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {r.push("toString:" + o.toString.toString());}r = "{" + r.join() + "}"} else {for (var i = 0;i < o.length; i++)r.push(obj2str(o[i]))r = "[" + r.join() + "]"}return r;}return o.toString();}// 将对象转换为为JSON对象var OString = function(O) {var S = [];for (var i in O) {O[i] = typeof O[i] == "string" ? O[i] : (typeof O[i] == "object"? OString(O[i]): O[i]);S.push("'" + i + "':'" + O[i] + "'");}return '{' + S.join(',') + '}';}console.info(f_evalArray(personArrays));// 结果:[{userName:"DT",age:22},{userName:"Jacky",age:26},{userName:"Lily",age:21}] 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表