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 相关文章推荐
js变量作用域及可访问性的探讨
Nov 23 Javascript
js中iframe调用父页面的方法
Oct 30 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
Mar 23 Javascript
JavaScript中几种排序算法的简单实现
Jul 29 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
一文看懂如何简单实现节流函数和防抖函数
Sep 05 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 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和MySQL保存和输出图片
2006/10/09 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
浅谈js中的this问题
2017/08/31 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
Js面试算法详解
2018/04/08 Javascript
详解vue axios二次封装
2018/07/22 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
Python实现简单字典树的方法
2016/04/29 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
简单实现python聊天程序
2018/04/01 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
python实现学生管理系统开发
2020/07/24 Python
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
幼儿教师考核制度
2014/01/25 职场文书
风险评估实施方案
2014/03/09 职场文书
孩子教育的心得体会
2014/09/01 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android