当前位置:  编程技术>WEB前端

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

    来源: 互联网  发布时间:2014-08-25

    本文导语:  在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台 接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式...

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

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


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

var jsonUserInfo = "{"TUserName":"" + userName + "","TInterest":"" + interest + "","TSex":"" + sex + "","TCity":"" + city + "","TDetail":"" + detail + ""}";

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

代码如下:

$.ajax(
                    {
                        type: "post",
                        url: "ReceiveHandler1.ashx",
                        data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },
                        dataType: "text",
                        success: function(data) {
                            $("#divShow").html(data);
                        }
 });

如果前台传递多个类格式的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

JSON.stringify()

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转为字符串。


    
 
 

您可能感兴趣的文章:

  • jquery 删除字符串最后一个字符的方法解析
  • 轻量级字符串解析器 UAParser
  • 批处理 解析字符串
  • 如何解析一个字符串
  • 如何用shell解析字符串?
  • 字符串表达式解析
  • jquery解析xml字符串简单示例
  • 如何解析xml文件时里面有汉字字符串
  • 字符串解析简单问题!
  • c#使用htmlagilitypack解析html格式字符串
  • C++实现判断字符串是否回文实例解析
  • jquery解析XML字符串和XML文件的方法说明
  • 关于linux CGI解析网页提交字符串信息问题
  • C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
  • 帮忙用awk解析一下以下字符串的表达式 多谢 急~
  • PHP标记风格、注释、表单获取、字符串类型、变量解析的实例解析
  • C字符串操作函数的实现详细解析
  • jquery解析xml字符串示例分享
  • php去除字符串换行符实例解析
  • java解析任意层数json字符串的方法
  • 新手求助,编译时说不能解析字符是怎么回事?
  • 如何用C、C++解析HTTP请求报文,包括协议头,字符编码,请高手赐教。谢谢。
  • 解析如何利用switch语句进行字符统计
  • linux 系统下c++ 用expat解析xml文件发生的字符编码转换的问题gbk---->utf-8
  • 解析在MYSQL语法中使用trim函数删除两侧字符
  • 修改mysql默认字符集的两种方法详细解析
  • 解析mysql 5.5字符集问题
  • PHP iconv()函数转字符编码问题解析
  • Java生成和解析XML格式文件和字符串的实例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 解析c++中参数对象与局部对象的析构顺序的详解
  • C++用new创建对象和不用new创建对象的区别解析
  • jquery遍历筛选数组与遍历解析json对象
  • Android 解析JSON对象及实例说明
  • C++中的对象数组详细解析
  • C++临时性对象的生命周期详细解析
  • Java中的String对象数据类型全面解析
  • C++中对象的赋值与复制操作详细解析
  • Android天气预报之基于HttpGet对象解析天气数据的方法
  • jquery遍历筛选数组、遍历解析json对象的方法
  • jquery遍历筛选数组的几种方法和遍历解析json对象
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 请教redhat9下什么命令执行arp解析和逆向arp解析
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 如何用libxml2 默认解析器解析HTML文件
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • html中<radio>单选按钮控件标签用法解析及如何设置默认选中
  • 配置DNS服务器后,服务器可解析,客户端不能解析。求解
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • 为什么我在使用nslookup命令的时候,正向解析(域名-》ip)没有问题,反向解析(ip-》域名)怎么查不到呢?
  • 基于Python的html解析库:pyquery最新版主页及pyquery下载
  • 服务器本机能解析域名,其它机子都解析不到,能ping通dns服务器地址,是什么问题?//
  • python下xml解析库lxml最新版下载安装以及代码示例
  • 我有一个DNS服务器,既要解析自己局域网里IP,有要解析外网上的IP,如www.163.com,我该如何设置呢
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • 请问怎样手工的解析XML文件啊.( 不借助任何的xml解析器)急!!!
  • 批处理 解析字符串 iis7站长之家
  • 通过shell解析文件,并根据解析内容生成新的文件。
  • html中<checkbox>标签用法解析及如何设置checkbox复选框的默认选中状态
  • java 公式解析 表达式解析 expression-analyzer


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3