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提交并解析后台返回的XML的代码
Nov 03 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
javascript中if和switch,==和===详解
Jul 30 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
Feb 15 Javascript
JavaScript事件详细讲解
Jun 27 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
Sep 13 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
turn.js异步加载实现翻书效果
Jul 25 Javascript
layui table 表格模板按钮的实例代码
Sep 21 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
javascript 小型动画组件与实现代码
2010/06/02 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
python日期相关操作实例小结
2019/06/24 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
python实现文件的分割与合并
2019/08/29 Python
python next()和iter()函数原理解析
2020/02/07 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
详细分析Python collections工具库
2020/07/16 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
IRO美国官网:法国服装品牌
2018/03/06 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
高中英语教学反思
2014/02/04 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
员工年终自我评价
2014/09/14 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python