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实现UTF8编码转换成gb2312编码
Dec 22 Javascript
javascript实现文本域写入字符时限定字数
Feb 12 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
jQuery如何解决IE输入框不能输入的问题
Oct 08 Javascript
js实现旋转木马效果
Mar 17 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
Vue2 轮播图slide组件实例代码
May 31 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
Jun 19 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
Oct 12 Javascript
如何在vue 中引入使用jquery
Nov 10 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
简单易用的计数器(数据库)
2006/10/09 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
javascript定时器完整实例
2015/02/10 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python绘制双柱形图代码实例
2017/12/14 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
Python循环结构的应用场景详解
2019/07/11 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
岗位竞聘演讲稿
2014/01/10 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
兵马俑导游词
2015/02/02 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
金陵十三钗观后感
2015/06/04 职场文书
小学教代会开幕词
2016/03/04 职场文书
Oracle中update和select 关联操作
2022/01/18 Oracle
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python