jquery里把数组转换成json的方法
首先来看,jquery里自带的,和json相关的函数:
1.$.parseJSON : 用来解析JSON字符串,返回一个对象。
什么叫“JSON字符串”?
比如:
var a={name:"aijquery",url:"www.aijquery.cn"};
上面定义的变量a是个JSON对象,我们可以直接用“a.name”或“a.url”来访问内容的数据。
var a="{name:'aijquery',url:'www.aijquery.cn'}";
上面定义的变量a就是一个符合JSON数据结构的字符串,可以叫做“JSON字符串”.
PS:关于$.parseJSON的用法,可以参考站长以前写的这篇文章:
jquery里把字符串转为json对象的四种方法,及每种方法的优缺点
2. serializeArray() : 序列化表格元素 ,返回JSON数据结构数据。
虽然函数里有个"Array",但和本篇我们要说的“数组转JSON”无关,serializeArray()这个函数是用来获取表单数据的,和serialize()不同,serializeArray()返回的是JSON格式的数据。
因为jquery就是在JS的基础上而来的,所以一些JS里的函数,我们在jquery里也是能直接用的,下面来看看JS里和JSON相关的两个函数:
JSON.parse(text) : 用于将一个 JSON 字符串转换为JSON对象。
JSON.stringify() : 用于将一个"值"转换为 JSON 字符串。
本章我们要说的,把数组转换成JSON,主要用到的就是 " JSON.stringify() ",和以前一样,我们直接通过实例来学习:
实例1:简单的数组:
var data =["a","b","c"];
var d =JSON.stringify(data);
console.log(d); //["a","b","c"]
console.log($.type(d)); // string
下面是上面这段代码的运行结果:
[jquery里把数组转换成json的方法[精心整理]_1]
从上面的代码里,我们可以看出,JSON.stringify() 确实是把数组转换成了字符串,但是这个字符串并不是“JSON字符串”,原因就是,在JSON里,数据都是“名字:值”这样配对的形式的,但上面这个数组太过简单,只是个一维数组,所以不能转换成“JSON字符串”的。
实例2:二维数组:
01:第一种形式的二维数组:
var data =[["a","aa"],["b","bb"],["c","cc"]];
var d =JSON.stringify(data);
console.log(d); //[["a","aa"],["b","bb"],["c","cc"]]
console.log($.type(d)); //string
运行结果如下:
[jquery里把数组转换成json的方法[精心整理]_2]
很明显,这个结果也不是我们想要的,因为转换后的字符串,并不是“JSON字符串”。
02:第二种形式的二维数组:
var data =new Array();
data[0]=new Array();
data[0][0]="a";
data[0][1]="aa";
data[1]=new Array();
data[1][0]="b";
data[1][1]="bb";
var d =JSON.stringify(data);
console.log(d); //[["a","aa"],["b","bb"]]
console.log($.type(d)); //string
运行结果截图如下:
[jquery里把数组转换成json的方法[精心整理]_3]
很明显,这也不是我们想要的结果。。。。。
03:再换一种写法:
var data =new Array();
data[0]=new Array();
data[0]["name"]="a";
data[0]["val"]="aa";
data[1]=new Array();
data[1]["name"]="b";
data[1]["val"]="bb";
var d =JSON.stringify(data);
console.log(d); //[[],[]]
console.log($.type(d)); //string
看这次的运行结果:
[jquery里把数组转换成json的方法[精心整理]_4]
与我们想要的结果更远了,不过不要急,还有最后一种:
04:最后一种写法,直接把数据定义成对象:
var data ={};
data[0]={};
data[0]["name"]="a";
data[0]["val"]="aa";
data[1]={};
data[1]["name"]="b";
data[1]["val"]="bb";
var d =JSON.stringify(data);
console.log(d); //{"0":{"name":"a","val":"aa"},"1":{"name":"b","val":"bb"}}
console.log($.type(d)); //string
下面是截图:
[jquery里把数组转换成json的方法[精心整理]_5]
摘自 爱jQuery:http://www.aijquery.cn/Html/jqueryjiqiao/179.html
jquery里把数组转换成json的方法的更多相关文章
- $.toJSON的用法或把数组转换成json类型
1. html页面全部代码 <html> <head> <title></title> <script src="../../S ...
- 字符串集合或字符串数组转换成json数组
字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...
- 将字典或者数组转换成JSON数据或者字符串
将字典或者数组转换成JSON数据或者字符串 源码: NSDictionary+JSON.h 与 NSDictionary+JSON.m // // NSDictionary+JSON.h // Cat ...
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...
- 数组转换成json
下面是详细的步骤,也可参考http://blog.csdn.net/wangliqiang1014/article/details/19924727 iOS数组可以转换车json对象,转换代码:NSS ...
- js数组转换成json串 (JSON.stringify)
例如: var giftlist[1490011777] = []; giftlist[1490011777]['id'] = 1490011777; giftlist[1490011777]['na ...
- 数组转换成json key-value形式
eg1(数组中包含的是数组): var jsonData = {}; var arr = [[1, 'boy', 'dabing'], [2, 'girl', 'dabing']]; for (var ...
- php数组转换成json格式。
{ "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0t ...
- C#转换成Json的方法集
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
随机推荐
- oracle父子级查询数据树结构
select t.*, level , sys_connect_by_path (t .id, '-->') as tree from isc_res_res_r t connect by pr ...
- Codeforces Round #590 (Div. 3)补题
要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...
- NOIP2012 DAY1 T2 国王游戏
题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最前面 ...
- js图片压缩上传
最近公司的移动产品相约app要做一次活动,涉及到图片上传,图片又不能太大,不然用户体验太差,必须先压缩再上传,所以用到了html5的canvas和FileReader,代码先上,小弟前端经验不足,代码 ...
- Go语言学习之main包的讲解
### Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 func main(){ fmt.Println("hellow ...
- Python基础 第四章 字典(2)字典方法&章小结
1. clear 方法clear删除所有的字典项,就地执行,什么都不返回(或者说返回None) d = {} d['name'] = 'Gumby' d['age'] = 42 print(d) re ...
- Linux/CentOS 配置Mysql-server过程和遇到错误解决方法
第一步:下载mysql-server 方法1.wget url(你所要下载的链接,可以从mysq官网查找)到当前目录下 方法2.到mysql官网下载包之后通过xftp传到linux 第二步:解压tar ...
- service程序改为windows窗体展示
首先将exe程序文件进行快捷创建.然后就会生成一个 exe -shortCut 程序,然后进入属性中,并且进行修改引用路径,在路径xx.exe 后面加一个空格和/tt,保存,这样就可以正常运行了. 如 ...
- ES6复制数组
ES6复制数组和合并数组 一.复制数组与合并数组 复制数组:它是复合数据类型,直接复制只是复制了指向底层数据结构的指针,而不是复制一个全新的数组 <!DOCTYPE html> <h ...
- Image Processing and Analysis_8_Edge Detection:Multiresolution edge detection techniques ——1995
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...