转换字符串为json对象的方法详解


Posted in Javascript onNovember 29, 2013

JSON是一种便于操作使用的轻量级数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。具体介绍请查看:http://www.json.org/。

很多时候我们需要组装字符串为json对象,首先要组合字符串,然后转换为json对象,如下面的例子:

<script type="text/javascript">
  <!--
  var a=50,b="xxx";
  var arr="{id:"+a+",name:'"+b+"'}";
  //-->
</script>

组合成了字符串arr,下一步就是转换成对象了,很快我们会想到使用eval方法,但如果这样做转换会出现错误,今日偶就这样尝试了,那该如何转换成json对象呢?郁闷许久,之后在json官网提供的json.js文件中找到了解决办法,方法如下:

在字符串两端再加上括号然后eval就ok了。测试代码如下:

<script type="text/javascript">
  <!--
  var a=50,b="xxx";
  var arr="{id:"+a+",name:'"+b+"'}";
  arr=eval('('+arr+')')
  alert(arr.name);
  //-->
</script>

上面代码执行后会弹出“xxx”,说明已经成功转换为json对象了,一个似乎很简单的问题,不过还是郁闷了半天才解决掉,还是记到blog上以加深印象,也希望能帮助遇到此问题的朋友早日解除郁闷。
Javascript 相关文章推荐
jquery的extend和fn.extend的使用说明
Jan 09 Javascript
JavaScript创建对象的写法
Aug 29 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
基于jquery编写的放大镜插件
Mar 23 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
vue路由跳转传参数的方法
May 06 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 Javascript
javascript对下拉列表框(select)的操作实例讲解
Nov 29 #Javascript
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 #Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
Nov 28 #Javascript
JS小功能(checkbox实现全选和全取消)实例代码
Nov 28 #Javascript
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 #Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 #Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 #Javascript
You might like
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP微商城开源代码实例
2019/03/27 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
接收键盘指令的脚本
2006/06/26 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
JS实现随机抽选获奖者
2019/11/07 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
学习python处理python编码问题
2011/03/13 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
python实现Floyd算法
2018/01/03 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
《和我们一样享受春天》教学反思
2014/02/07 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
行政处罚告知书
2015/07/01 职场文书