例如:

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. 一些android系统参数的获取

    //获取网络类型 2G/3G/WIFI public String getNetworkType(){ String mNetWorkType = ""; Connectivity ...

  2. 如何设置DIV水平、垂直居中

    一.水平居中 需要设置两点: 1  设置DIV 的width属性即宽度. 2  设置div的margin-left和margin-right属性即可 代码: <div style="w ...

  3. list转datatable c#

    private DataTable ToDataTable<T>(List<T> items) { var tb = new DataTable(typeof(T).Name) ...

  4. Tiny PXE Server简介

    Tiny PXE Server简介Tiny PXE Server是一款小巧而功能强大的网启软件.支持DHCP TFTP HTTP BINL DNS等多个协议,支持grub4dos,pxelinux,i ...

  5. android:layout_weight的真实含义

    首先声明只有在Linearlayout中,该属性才有效.之所以android:layout_weight会引起争议, 是因为在设置该属性的同时,设置android:layout_width为wrap_ ...

  6. 【bzoj1019】汉诺塔

    [bzoj1019]汉诺塔 题意 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1019 分析 思路1:待定系数+解方程 设\(f[n]\)为 ...

  7. win7下安装MYSQL报错:"MYSQL 服务无法启动"的3534问题

    上午在win7下安装MYSQL,只到“net start mysql”这一步报错:3534的错误: 于是在百度中搜索关键字“mysql服务无法启动3534”. 参考以下两个链接中的方法,解决了3534 ...

  8. python list对象

    list对象 1.list定义l=['first','second'] 2.list追加对象list.append('aa');append的方法总是把元素追加到末尾 insert(索引号,'项目') ...

  9. lambda表達式

    lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”.运算符将表达式分为两部分,左边指定 ...

  10. 例子:使用C++中的this

    在C++中很多的东西都传值的,. C++中的对象之间的copy是传值的 , 他不想java那样,对象之间传递的引用 , 或者说是java对指针进行了封装 , 禁止了一些不安全的操作 对于C++而言 , ...