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 相关文章推荐
javascript实现划词标记+划词搜索功能
Mar 06 Javascript
Javascript 继承机制的实现
Aug 12 Javascript
jQuery 入门级学习笔记及源码
Jan 22 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
Apr 01 Javascript
jQuery的attr与prop使用介绍
Oct 10 Javascript
Jquery Ajax方法传值到action的方法
May 11 Javascript
论JavaScript模块化编程
Mar 07 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
jQuery图片轮播插件——前端开发必看
May 31 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
JavaScript之数组扁平化详解
Jun 03 Javascript
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
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关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
js 省地市级联选择
2010/02/07 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Python网络爬虫实例讲解
2016/04/28 Python
Python进行数据提取的方法总结
2016/08/22 Python
python字符串中的单双引
2017/02/16 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python API自动化框架总结
2019/11/12 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
在购买印度民族服饰:Soch
2020/09/15 全球购物
四年级学生评语大全
2014/04/21 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
python开发飞机大战游戏
2021/07/15 Python
SpringBoot快速入门详解
2021/07/21 Java/Android
python实现会员管理系统
2022/03/18 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS