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


Posted in Javascript onSeptember 27, 2016

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 相互转换的简单实现的全部内容了,希望对大家有所帮助,多多支持三水点靠木~

Javascript 相关文章推荐
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
JS读取XML文件示例代码
Nov 15 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
限制只能输入数字的实现代码
May 16 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
Mongoose经常返回e11000 error的原因分析
Mar 29 Javascript
无循环 JavaScript(map、reduce、filter和find)
Apr 08 Javascript
vue select选择框数据变化监听方法
Aug 24 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
JavaScript数组reduce()方法的语法与实例解析
Jul 07 Javascript
js转html实体的方法
Sep 27 #Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 #Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 #Javascript
微信小程序使用第三方库Underscore.js步骤详解
Sep 27 #Javascript
微信小程序使用第三方库Immutable.js实例详解
Sep 27 #Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
Sep 27 #Javascript
微信小程序 开发指南详解
Sep 27 #Javascript
You might like
帖几个PHP的无限分类实现想法~
2007/01/02 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
使用Vue生成动态表单
2019/11/26 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python中的Classes和Metaclasses详解
2015/04/02 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
python实现大转盘抽奖效果
2019/01/22 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
了解一下python内建模块collections
2020/09/07 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
优秀研究生自我鉴定
2013/12/04 职场文书
保证书范文大全
2014/04/28 职场文书
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
开工典礼致辞
2015/07/29 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL