例如:

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. Ubuntu Server14.04 32位安装odoo8.0简单方法

    一.wget -O - https://nightly.odoo.com/odoo.key | apt-key add - 二.echo "deb http://nightly.odoo.c ...

  2. Linux之top命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  3. 第一天……

    Hello,大家好! 不对,这个开头有点不对.我不应该这么说,这个博客我是为我自己而开通的.目的很简单,好记兴不如烂笔头,把每天所学所感写下来. 我想作一个有条理的人,一个有计划的人,一个有效率的人. ...

  4. JavaScript的事件对象_概述/this

    JavaScript 事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能. 最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事 ...

  5. 转!!URL和URI区别

    URI,URL,URN 从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN.这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resourc ...

  6. android中textview设置为多行文本时,如何让文字从最顶开始显示

    <span style="white-space:pre"> </span><EditText android:layout_width=" ...

  7. iOS开发 判断字符串是不是网址

    - (BOOL)isUrlString { NSString *emailRegex = @"[a-zA-z]+://.*"; NSPredicate *emailTest = [ ...

  8. c++相关的类型推导

    c++11和boost库增加许多关于类型推导(编译期)的关键字和类型, 用好这些机制, 对于编写项目的一些组件帮助颇大.正所谓工欲善其事,必先利其器. 1.初始化某种类型的变量 auto var = ...

  9. 自己动手做jQuery插件

    前言:这种东西随意可以在网上收到,这里我还是只是记下自己的见解和领. 第一种方式 (function ($) { $.extend({ sayHello: function (name) { aler ...

  10. Python中一些内建函数及os等模块的用法

          len(obj)                   # 求长度:obj可以是str.list等对象    split(str, num)          # str-分割符,默认空格: ...