首页 > 编程 > JavaScript > 正文

Javascript json object 与string 相互转换的简单实现

2019-11-20 08:52:06
字体:
来源:转载
供稿:网友

Javascript json object 与string 相互转换的简单实现

function obj2str(o){  var r = [];  if(typeof o == "string" || o == null) {   return o;  }  if(typeof o == "object"){   if(!o.sort){    r[0]="{"    for(var i in o){     r[r.length]=i;     r[r.length]=":";     r[r.length]=obj2str(o[i]);     r[r.length]=",";    }    r[r.length-1]="}"   }else{    r[0]="["    for(var i =0;i<o.length;i++){     r[r.length]=obj2str(o[i]);     r[r.length]=",";    }    r[r.length-1]="]"   }   return r.join("");  }  return o.toString();}

string 转 object

function taoRan(){var str='{"result": [["提现", "219"], ["提现银行", "121"], ["退款", "272"], ["提现失败", "16"], ["团购", "15"], ["淘宝", "412"],["台湾", "58"], ["提现限额", "16"], ["提现时间", "81"], ["台湾认证", "26"]]}';alert(strToObj(str).result[2]);}function strToObj(json){      return eval("("+json+")"); }

非常好用的JsonToString方法

//'Jsontostring代码 function JsonToString(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类型的忽略掉而已)

function O2String(O) {//return JSON.stringify(jsonobj); var S = [];var J = "";if (Object.prototype.toString.apply(O) === '[object Array]') {  for (var i = 0; i < O.length; i++)    S.push(O2String(O[i]));  J = '[' + S.join(',') + ']';}else if (Object.prototype.toString.apply(O) === '[object Date]') {  J = "new Date(" + O.getTime() + ")";}else if (Object.prototype.toString.apply(O) === '[object RegExp]' || Object.prototype.toString.apply(O) === '[object Function]') {  J = O.toString();}else if (Object.prototype.toString.apply(O) === '[object Object]') {  for (var i in O) {    O[i] = typeof (O[i]) == 'string' ? '"' + O[i] + '"' : (typeof (O[i]) === 'object' ? O2String(O[i]) : O[i]);    S.push('"' + i + '":' + O[i]);  }  J = '{' + S.join(',') + '}';}return J;}; 

JSON.stringify(jsonobj)

JSON.stringify(jsonobj),本来是最简便的方法,可是存在浏览器兼容问题(仅适用于IE8+,Chrome 1+,FF 3+)

以上就是小编为大家带来的Javascript json object 与string 相互转换的简单实现的全部内容了,希望对大家有所帮助,多多支持武林网~

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表