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 ...
随机推荐
- Spark Scala当中reduce的用法和例子
[学习笔记] reduce将RDD中元素前两个传给输入函数,产生一个新的return值,将新产生的return值与RDD中下一个元素(即第三个元素)组成两个元素,再被传给输入函数,这样递归运作,直到最 ...
- 搭建Leanote笔记
mongo\leanote #查询Linux开放的端口 netstat -nupl (UDP类型的端口) netstat -ntpl (TCP类型的端口) #下载安装MongoDB wget http ...
- 关于Linux操作系统中的一些易忘记的命令与作用
1.改变文件或文件夹的权限,例如:chmod options mode file :[ugoa...] [+-=] [rwxXstugo],其中字符的含义如下: 第一组[ugoa...]:文件(夹)权 ...
- Netty的学习
看了几天高并发和NIO 今晚终于要开始学习Netty http://ifeve.com/netty5-user-guide/ Netty实现通信的步骤 1.创建两个NIO线程组,一个专门用于网络事件的 ...
- kubernetes 健康检查和初始化容器
Pod-hook:postStart:1.$ $ vim preStart-hook.yaml---apiVersion: v1kind: Podmetadata: name: hook-demo1 ...
- 牛客 201 J Princess Principal (括号, 栈模拟)
大意: 给定序列$a$, $a_i$为偶数代表第$\frac{a_i}{2}$种左括号, 否则为第$\frac{a_i-1}{2}$种右括号. 询问区间是否是合法括号序列. #include < ...
- 爆long long处理方法
#include <iostream> using namespace std; typedef __int128_t i128; typedef long long ll; int ma ...
- linux安装字体库(simSun为例)
在开发过程中,发现报表打印,字体和默认字体不一样.本地开发环境(windows)没问题,但是远程linux一直出现这样的问题.经过排查发现linux没有安装中文字体库宋体. linux查看当前的字体库 ...
- C#签名验签帮助类
using System; using System.IO; using System.Text; using System.Collections.Generic; using System.Sec ...
- 怎样理解undefined和 null
前言: undefined表示 "未定义", null 表示 "空" 第一步: 一般在变量或属性没有声明或者声明以后没有赋值时, 这个变量的值就是undefin ...