例如:

JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }'; 
JSON对象:
var obj= { "name": "cxh", "sex": "man" };

1、在js中把json字符串转json对象的方法不止一种,最常见的一种方式如下,使用到eval方法:

 var jsonStr = '{"userName": "tiu","userAge": 26,"isMale": true}';
var json = eval("(" + jsonStr + ")");

2、使用Function来进行转换

 var jsonStr = '{"userName": "tiu","userAge": 26,"isMale": true}';
var json = (new Function("return " + jsonStr))();

3、还有一种是使用JSON全局对象,不过比较可惜的是IE8以下的版本木有这个对象(囧TZ~),如果不考虑兼容IE8一下版本的话JSON全局对象是个很有用的东西,使用的代码如下:

 var jsonStr = '{"userName": "tiu","userAge": 26,"isMale": true}';
//将字符串转换成JSON对象
var json = JSON.parse(jsonStr);
//将JSON对象转换成字符串
var str = JSON.stringify(json);

  JSON对象提供了两个很有用的方法,JSON.parse()方法接受一个字符串作为参数,返回一个json对象;JSON.stringify()方法则相反!
  PS:有一个比较常用的组建,叫做json2,这个组件也提供了一个全局对象,也是叫JSON,同样也有parse和stringify两个方法,使用这个组建可以很好的解决IE8以下版本使用不了JSON全局变量的方法,需要这个组建的话请前往这里https://github.com/douglascrockford/JSON-js,在源代码专用意见有使用说明了!

4、如果使用JQuery的话还有一个方法,就是jQuery.parseJSON()方法,和上面几个的效果一样,都是接受字符串返回json对象,代码如下:

 var jsonStr = '{"userName": "tiu","userAge": 26,"isMale": true}';
var json = jQuery.parseJSON(jsonStr);

请注意Json格式:

    对于json很多人经常会这样来定义:var jsonObj = {name:"serafin", age:26}; 在这里需要注意的是,这样定义在上面几种方法中,只有前面两种方法可以正常使用,后面两种方法会出现报错!其实最标准的定义应该是这样的:var jsonObj = {"name":"serafin", "age":26}; 也就是说每个key都要用双引号括住!这样的格式在上面几种方法都可以正常使用!

JavaScript中字符串转Json方法小记的更多相关文章

  1. javascript中字符串格式json如何转化成json对象

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  2. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法

    1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...

  3. JavaScript中字符串的match与replace方法

    1.match方法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. match()方法的返回值为:存放匹配结果的数组. 2.replace方法 replace() 方 ...

  4. JavaScript中Object.prototype.toString方法的原理

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.lo ...

  5. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  6. URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

    引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...

  7. javaScript中的indexOf使用方法

    JavaScript中的indexOf使用方法 概述 indexOf大小写敏感,其中的O要大写 对于字符串而言 indexOf返回字符串第一次出现的位置,若没有出现返回-1 1 var str = & ...

  8. Jquery中$(document).ready()与传统JavaScript中的window.onload方法的区别(2016/8/3)

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间       ...

  9. JavaScript中事件绑定的方法总结

    最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScr ...

随机推荐

  1. 百度编辑器Ueditor的简单调用

    先去ueditou.baidu.com网站下载百度编辑器,放到项目根目录下的Data目录中,然后引入文件 <!DOCTYPE html> <html lang="en&qu ...

  2. Hibernate的集合映射与sort、order-by属性

    [Hibernate]Hibernate的集合映射与sort.order-by属性 常用集合Set.List.Map,相信大家都很熟悉,面试中也会经常问.Set和List都继承了Collection接 ...

  3. Object Pascal 控制语句

    控制语句 1.常量声明语句常量在声明时就被赋予了一个值,在程序执行过程中是不可改变的. 格式 const 常量名 :数据类型 = 值 下面的例子声明了3 个常量: const Pi = 3.14159 ...

  4. 转:Teach Yourself Programming in Ten Years——用十年教会自己编程

    转自:http://blog.csdn.net/UndeadWraith/article/details/6140455 作者:Peter Norvig 译者:刘海粟 本文原文为:http://nor ...

  5. D3.js 完整的柱形图

    一个完整的柱形图包含三部分:矩形.文字.坐标轴.制作一个实用的柱形图,内容包括:选择集.数据绑定.比例尺.坐标轴等内容. 1. 添加 SVG 画布 //画布大小 var width = 400; va ...

  6. [转载]最牛B的编码套路

    原文地址:http://www.codeceo.com/article/nb-coding-style.html 这篇文章很不错,推荐给大家看. 最近,我大量阅读了Steve Yegge的文章.其中有 ...

  7. 一次DB2数据库连接失败(SQLSTATE=08001)的解决方法

    有一次,在使用DbVisualizer工具连接自己linux虚拟机上的DB2数据库时,报如下错误: Product: DbVisualizer Pro 9.1 Build: #2050 (2013/0 ...

  8. 在多线程环境下使用HttpWebRequest或者调用Web Service(连接报超时问题)

    .net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作 ...

  9. linux下动态链接库.so文件 静态链接库.a文件创建及使用

    转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲:    ...

  10. dede 调用四级导航

    一.修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...