在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台

接受的时候Request多个很麻烦,此时要按照类的格式 或 集合的形式进行传递。

1、传递单一对象Json

  例如:前台按类的格式传递JSON对象:

  var jsonUser = "{\"UserName\":\"" + userName  + "\",\"Sex\":\"" + sex + "\",\"City\":\"" + city + "\",\"Age\":\"" + age+ "\"}";

  如拼出的 jsonUser 无转义符号,需要 var jsonArrayFinal = JSON.stringify(jsonArray); 进行转换后再传递。

$.ajax(
  {
    type: "post",
    url: "UserHandler.ashx",
    data: { userInfo: jsonUser, flag: "1", key: "1" },
    dataType: "text",
    success: function(data) {
      $("#divMsg").html(data);
    }
});

2、传递集合类型Json

  如果前台传递多个类格式的 JSON 数组,也就是集合类型,如下:

  [{"name":"a"},{"name","b"},{"name","c"}]

  此时必须使用 JSON.stringify 将数组对象转换成字符串,再进行AJAX传递即可。

  比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

  var a={"name":"tom","sex":"男","age":"24"};
  var b='{"name":"Mike","sex":"女","age":"29"}';

  在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的 stringify() 和 parse() 方法。

  JSON.stringify(obj)  将JSON转为字符串,JSON.parse(string) 将字符串转为JSON格式;

  上面的转换可以这么写:

var a={"name":"tom","sex":"男","age":"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSON.stringify(a);
var bToObj=JSON.parse(b);
alert(typeof(aToStr)); //string
alert(typeof(bToObj));//object

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

  ie8(兼容模式)、ie7、ie6可以使用 eval() 将字符串转为JSON对象,

var c='{"name":"Mike","sex":"女","age":"29"}';
var cToObj=eval("("+c+")");
alert(typeof(cToObj));

  jQuery中也有将字符串转为JSON格式的方法 jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj) 将JSON转为字符串。

JS 中 JSON 对象与字符串之间的相互转换的更多相关文章

  1. Json数组操作小记 及 JSON对象和字符串之间的相互转换

    [{"productid":"1","sortindex":"2"},{"productid":&q ...

  2. JSON对象与字符串之间的相互转换

    <html> <head> <meta name="viewport" content="width=device-width" ...

  3. JSON对象与字符串之间的相互转换 - CSDN博客

    原文:JSON对象与字符串之间的相互转换 - CSDN博客 <html> <head> <meta name="viewport" content=& ...

  4. JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

    在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...

  5. JSON对象和字符串之间的相互转换

    比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex":"男&quo ...

  6. 解析JSON对象与字符串之间的相互转换

    在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台 接受的时候Request多个很麻烦 ...

  7. 小tips:JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

    在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...

  8. JSON对象和字符串之间的相互转换 – JSON.parse() 和 JSON.stringify()

    所有现代浏览器都支持 JSON 对象,有两个非常有用的方法来处理 JSON 格式的内容: JSON.parse(string) :接受一个 JSON 字符串并将其转换成一个 JavaScript 对象 ...

  9. js中json对象和字符串的转换

    JSON.parse() : 字符串-->json对象 var str = '{"name":"huangxiaojian","age" ...

随机推荐

  1. Npm安装以及express框架的使用

    一.安装node.js 下载node.js,并将其放置合适的位置 二.修改环境变量 添加Node执行路径添加到系统的环境变量PATH中,如图:在PATH变量的值的最后添加“C:\Program Fil ...

  2. iOS-Xcode必备插件XAlign:瞬间优化你的代码

    今天向大家介绍一个非常好用的Xcode代码编辑插件,这个插件可以很快速地使代码对齐,有3种模式:“=”对齐.宏定义对齐和属性对齐 XAlign效果图 1.“=”对齐   2.宏定义对齐     3.属 ...

  3. 浅析c++中virtual关键字

    http://blog.csdn.net/djh512/article/details/8973606 1.virtual关键字主要是什么作用? c++中的函数调用默认不适用动态绑定.要触发动态绑定, ...

  4. C/S模式与B/S

    网络程序开发的两种计算模式--C/S模式与B/S模式.两种各有千秋,用于不同场合. C/S适用于专人使用,安全性要求较高的系统: B/S适用于交互性比较频繁的场合,容易被人们所接受,倍受用户和软件开发 ...

  5. C 格式化显示时间(time.h)

    转自:http://www.cnblogs.com/xudong-bupt/p/3550157.html C/C++程序中需要程序显示当前时间,可以使用标准函数strftime. 函数原型:size_ ...

  6. svn: E155015: 提交失败(细节如下) 解决办法

    svn 出现冲突是经常发生的事,最近改用命令操作svn,用界面电脑有些反应慢 出现冲突使用svn 命令肯定也是可以解决的: 查看警告信息提示冲突的文件,执行 svn resolved <文件名& ...

  7. 逍遥法外第一季/全集How To Get Away With Murder迅雷下载

    英文译名 How To Get Away With Murder (第1季) (2014-09-26首播)ABC.本季看点: <逍遥法外又名:天才刑法班>由<实习医生格蕾>和& ...

  8. 7z压缩与解压命令

    在写很多工具的时候,可能会用到7z命令来进行压缩与解压操作.这里记录二个比较常用的操作:压缩.解压.   在dos窗口下输入7z命令,会显示7z的使用参数详情: 7-Zip 9.10 beta  Co ...

  9. <A>标签电子邮件链接

    电子邮件链接 – 要链接电子邮件,可在链接标签中插入” mailto:邮箱地址” <A href="mailto:webmaster@sohu.com"> 站长信箱 & ...

  10. [web 前端] web本地存储(localStorage、sessionStorage)

    cp from : https://blog.csdn.net/mjzhang1993/article/details/70820868 web 本地存储 (localStorage.sessionS ...