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 触发事件列表 比较不错
Sep 03 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
javascript倒计时效果实现
Nov 12 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
利用npm 安装删除模块的方法
May 15 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
vue axios整合使用全攻略
May 24 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
Vue 刷新当前路由的实现代码
Sep 26 Javascript
nuxt静态部署打包相对路径操作
Nov 06 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 if 想到的些问题
2008/03/22 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
php实现微信发红包功能
2018/07/13 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python中的pack和unpack的使用
2018/03/12 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
Python自动抢红包教程详解
2019/06/11 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
外语专业毕业生自荐信
2014/04/14 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
redis缓存存储Session原理机制
2021/11/20 Redis
Python中npy和mat文件的保存与读取
2022/04/24 Python