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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
javascript 写类方式之三
Jul 05 Javascript
js 小贴士一星期合集
Apr 07 Javascript
JS性能优化笔记搜索整理
Aug 21 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
Sep 15 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
尝试自己动手用react来写一个分页组件(小结)
Feb 09 Javascript
使用Angular CLI生成路由的方法
Mar 24 Javascript
微信小程序实现上传多个文件 超过10个
Mar 30 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 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 获取可变函数参数的函数
2009/08/26 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP中“=&gt;
2019/03/01 PHP
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
python调用新浪微博API项目实践
2014/07/28 Python
python基础教程之序列详解
2014/08/29 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
python 操作excel表格的方法
2020/12/05 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
医学生实习自我鉴定
2013/09/27 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
关于安全的演讲稿
2014/05/09 职场文书
反邪教标语
2014/06/23 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
2014年党务工作总结
2014/11/25 职场文书
管理失职检讨书
2015/05/05 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB