ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。如下:

复制代码代码如下:

function strToJson(str){ 
var json = eval('(' + str + ')'); 
return json; 

记得别忘了str两旁的小括号。 
2,new Function形式,比较怪异哦。如下

复制代码代码如下:

function strToJson(str){ 
var json = (new Function("return " + str))(); 
return json; 

3,使用全局的JSON对象,如下:

复制代码代码如下:

function strToJson(str){ 
return JSON.parse(str); 

目前 IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法,以下是部分资料:http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx https://developer.mozilla.org/en/Using_JSON_in_Firefox 
使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下

复制代码代码如下:

var str = '{name:"jack"}'; 
var obj = JSON.parse(str); // --> parse error 
本文转自博客园知识天地的博客,原文链接:js中将字符串转换成json的三种方式,如需转载请自行联系原博主。

js中将字符串转换成json的三种方式相关推荐

  1. 字符串转换成json的三种方式

    使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON ). ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)  ...

  2. python如何将字符串转换成json的几种办法!

    python如何将字符串转换成json的几种办法 最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数.但是里面出现了一些问题 1.通过json来 ...

  3. badatatable转成json_C# DataTable 转换成JSON数据 三种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数 ...

  4. js 字符串转换成数字的 三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  5. 微信小程序之js 字符串转换成数字的三种方法, 取float型小数点后两位数的方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  6. 字符串转换成数字的三种方法 js

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  7. JS字符串转换成数字的三种经典方法和代码实例

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行: 对其他类 ...

  8. JS 字符串转换成数字的三种方法

    方法主要有三种: 转换函数.强制类型转换.js变量弱类型转换 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对S ...

  9. html把字符串转换成数字,js字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

最新文章

  1. 潘在亮:给业务开发提供黑科技装备的“测试Q博士”(图灵访谈)
  2. 七分结构三分代码-直立车想节能
  3. 使用访问控制列表控制用户登录
  4. boost::coroutine2模块实现分段的stack的测试程序
  5. spring代码异常捕获到logback logging.config=logback-spring.xml文件中不能输出异常e.printStackTrace...
  6. Sharepoint学习笔记 –架构系列—12 Sharepoint的客户端对象模型(Client Object Model)
  7. ECC密钥结构和密码学基础
  8. 7本书告诉你,为什么拯救“流浪地球”的是人类,不是AI?
  9. ant指定servlet版本_[转载]程序开发常见错误
  10. Golang之Channel的理解与应用
  11. pwnable.kr lotto之write up
  12. Oracle 11g完全卸载(Windows)
  13. java 线程 interrupted_Java:当被另一个线程中断时,如何在线程上捕获InterruptedException?...
  14. Android Q 添加GMS包
  15. DXP PCB板的形状的改变
  16. POJ 3295 Tautology(构造)
  17. 判断BIOS的启动模式和磁盘分区格式
  18. nodejs前端+后端
  19. 22考研全程时间计划安排表!
  20. LA4043 KM算法

热门文章

  1. 微信APP支付(Java后台生成签名具体步骤)
  2. (转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别
  3. 第二冲刺站立会议01
  4. 响应式的无限滚动全屏dribbble作品集布局展示效果
  5. Ie6/ie7 不支持 JSON
  6. 移动的验证码安全问题告诉移动网站后......,1860意指一般人不会这样做.
  7. it专员职责_网络IT专员岗位职责
  8. Windows核心编程 第2 5章 未处理异常和C ++异常(上)
  9. 【集合论】二元关系 ( 二元关系运算示例 | 逆运算示例 | 合成运算示例 | 限制运算示例 | 像运算示例 )
  10. 【数据挖掘】神经网络 后向传播算法 ( 梯度下降过程 | 梯度方向说明 | 梯度下降原理 | 损失函数 | 损失函数求导 | 批量梯度下降法 | 随机梯度下降法 | 小批量梯度下降法 )