前端(js):
json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键,下面将介绍两者之间的相互转换。
- json字符串:var str1 = '{ "name": "zyy", "sex": "man" }';//最外面包含了一对单引号
- var str2 = { "name": "zyy", "sex": "man" }; //严格的json组成格式
1.json字符串-->json对象(四种方式)
1.使用原生的js函数进行解析
- var obj = eval('(' + str1 + ')');
2.使用jquery插件提供的工具进行解析
- var obj = $.parseJSON( str1 );
3.使用js原生的JSON对象进行解析(此种方式会出现低版本浏览器<=IE8不兼容问题,不推荐,具体参见)
- var obj = JSON.parse(str1);
4.使用JSON官网上提供的json2.js类库对象进行解析 (官网地址 下载json2.js地址),ps:记得引入该文件哦,嘿嘿
- var obj = JSON.parse(str1);
注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。
2.json对象 --> json字符串
1.使用JSON官网上提供的json2.js类库对象进行解析
- var str = JSON.stringify(str2);
2.使用js原生的方法(兼容性和上面的3一样)
- var str = str2.toJSONString();
转自:http://henu-zyy.iteye.com/blog/2257498