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 相关文章推荐
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
js模拟滚动条(横向竖向)
Feb 22 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
vue-resource拦截器设置头信息的实例
Oct 27 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
react配置antd按需加载的使用
Feb 11 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
Feb 06 Javascript
javascript实现贪吃蛇游戏(娱乐版)
Aug 17 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
Sep 16 Javascript
javascript对象3个属性特征
Nov 17 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
多文件上传的例子
2006/10/09 PHP
php类常量的使用详解
2013/06/08 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
python数据结构之列表和元组的详解
2017/09/23 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
python统计文章中单词出现次数实例
2020/02/27 Python
parser.add_argument中的action使用
2020/04/20 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
房产公证书
2015/01/23 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python