在数据传输过种中,json是以文本,即字符串的形式传递,字符串形似Json对象: var str1 = '{ "name": "Amy", "sex": "woman" }';   console.log(typeof str1);   经实验类型是string;

而在实际的项目中如果想获取其中的name和sex的值时要使用Json对象,通过str1.name、str1.sex这样的方式来获取,这样就须把string类型转换成Json对象。

一、string类型转换成Json对象方法

 1、Javascript支持的转换方式:eval

          eval('(' + jsonstr + ')');

   注意:需要在json字符外包裹一对小括号,ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式;缺点是不安全,eval会执行json串中的表达式。

 2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:  

JSON.parse(jsonstr); //可以将json字符串转换成json对象

相反浏览器也提供了将Json对象转换成string类型的方法:

JSON.stringify(jsonstr);//可以将json对象转换成json对符串

  

3、jQuery插件支持的转换方式

  $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

4、JSON官方的转换方式

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
     可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

二、Json对象转换成String字符串方法

  上面提到的浏览器支持的转换方式JSON.stringify(str):

JSON.stringify(jsonstr);//可以将json对象转换成json对符串

  

使用js进行string和json之间转换的方法的更多相关文章

  1. JS于string 和 json互转对象

    一.json开启string JSON.stringify(jsonObj) 两.string开启json eval(string) 版权声明:本文博主原创文章.博客,未经同意不得转载.

  2. Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

  3. (转)js:字符串(string)转json

    第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...

  4. js:字符串(string)转json

    第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...

  5. json对象与javaBean,String字符创之间相互转换的方法

    原创:转载请注明出处 package com.allcam.system.utils; import com.fasterxml.jackson.databind.ObjectMapper; publ ...

  6. js中string和json的相互转换

    1.将string转成json var json={}; var myorderno=$("#myorderno").val(); json.myorderno=myorderno ...

  7. js中字符串,数字之间转换的常用方法

    var number={ num:, num1:"2你好" }; //将数字转换为字符串 var str=number.num.toString();//十进制 );//二进制 ) ...

  8. js 时间日期与时间戳之间转换

    1 1.将时间(2017-08-10)转换时间戳 2 var startTime = '2017-08-10'; 3 var startdate = new Date(Date.parse(start ...

  9. Integer类的进制之间转换的方法

    一.两个通用方法 1.public static String toString(int i,int radix) (1)作用 将十进制的数转化成指定进制数的字符串形式:radix参数指进制数: (2 ...

随机推荐

  1. c++ iterator(迭代器)分类及其使用

    前言: 以下的内容为我阅读c++沉思录18,19,20章的笔记以及自己的想法. 正文: 总所周知,c++的stl中提出了iterator的概念,这是C所没有的.在一般的使用中,iterator的行为很 ...

  2. 配置163Yum源自动判断你的系统是Centos版本(适用于5.x或6.x)

    #!/bin/bash #Author:nulige #Date: 2015-3-8 #实现功能:自动判断你的系统是Centos版本,适用于5.x或6.x mv /etc/yum.repos.d/Ce ...

  3. mxnet目录结构

    普通目录 R-package, R语言API, 因为用的python, 所以对R暂时不感兴趣 amalgamation, 将整个mxnet库打包成一个文件, 以方便直接在客户端调用, 如Android ...

  4. 在Eclipse 中打开当前文件夹

    最近试过好多次,安装插件来 在Eclipse 中打开当前文件所在文件夹,结果总是不甚如意. 烦躁了,决定还是不要使用插件了!!! 1.打开Eclipse,点击菜单栏上的Run--External To ...

  5. 100114J

    经过思考后,很明显,我们可以看出应该是求出两条最长的链,链是指挂在连通块上的

  6. Activity的四种launchMode

    来源:http://blog.csdn.net/liuhe688/article/details/6754323/ 我们今天要讲的是Activity的四种launchMode. launchMode在 ...

  7. 【POJ 1698】Alice's Chance(二分图多重匹配)

    http://poj.org/problem?id=1698 电影和日子匹配,电影可以匹配多个日子. 最多有maxw*7个日子. 二分图多重匹配完,检查一下是否每个电影都匹配了要求的日子那么多. #i ...

  8. iOS推送处理

    iOS收到推送后,跳转到某一页面 字数1348 阅读1001 评论4 喜欢26 以前做过推送, 但只是那种最基本的广播推送(向所有安装appde设备通知), 列播组播这种对指定用户推送消息还没做过, ...

  9. 配置服务器有错/usr/libexec/gconf-sanity-check-2的退出状态为256

    问题描述: CentOS启动的时候报如下错误:“配置服务器有错/usr/libexec/gconf-sanity-check-2的退出状态为256” 问题原因: 在装hadoop的时候误删了/tmp文 ...

  10. BZOJ4719 [Noip2016]天天爱跑步

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...