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 获取图片颜色
Apr 05 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 Javascript
js中switch case循环实例代码
Dec 30 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
前端面试题及答案整理(二)
Aug 26 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
Mar 29 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
JavaScript实现省市联动过程中bug的解决方法
Dec 04 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
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JS性能优化笔记搜索整理
2013/08/21 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
js实现select下拉框选择
2020/01/11 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python何时应该使用Lambda函数
2019/07/02 Python
python中sys模块是做什么用的
2020/08/16 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
Python中的流程控制详解
2021/02/18 Python
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
什么是规则表达式
2012/05/03 面试题
贷款委托书怎么写
2014/08/02 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书