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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
iis6+javascript Add an Extension File
Jun 13 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
Javascript中的arguments对象
Jun 20 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 Javascript
微信公众号开发之微信支付代码记录的实现
Oct 16 Javascript
js实现3D旋转效果
Aug 18 Javascript
JavaScript实现京东快递单号查询
Nov 30 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
JS 文件传参及处理技巧分析
2010/05/13 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
python实现图片筛选程序
2018/10/24 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
公司经理任命书
2014/06/05 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
Python语言内置数据类型
2022/02/24 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang