美文网首页
jquery里把数组转换成json的方法

jquery里把数组转换成json的方法

作者: 下班再说 | 来源:发表于2020-02-27 21:13 被阅读0次

首先来看,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的方法

    首先来看,jquery里自带的,和json相关的函数: 1.$.parseJSON : 用来解析JSON字符串,返...

  • ES6几个好用的数组操作方法

    Array.from() :将json数组格式转换成数组 find() 示例方法,用于查找数组内的某个元素 fil...

  • es6学习(二)---数组操作

    ES6中新增的数组知识 JSON数组格式转换JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式Ar...

  • 字符串转json对象的3种方法

    jquery插件(将字符串转换成json对象) $.parseJSON(str);jquery.parseJSON...

  • 锋利的jquery笔记

    Jquery 对象转换成 DOM 对象的二中方法 DOM 元素转换成 Jquery 对象的方法 Jquery 对象...

  • ES6新增的几种关于数组的方法

    1.将json格式的对象转换成数组,采用Array.from()方法: 2.将数字、字符串转换成数组,采用Arra...

  • JSON库

    JSON库将json对象或节点转换成字典、将json数组转换成列表、将json字符串转换成python字符串,tr...

  • 数组方法

    检测数组 转换方法 toString 把数组转换成字符串,并用逗号分隔开来 join 把数组转换成字符串,并用指定...

  • 页面传参(字符串,数组,对象)

    一、传递字符串直接在url后面拼接参数即可 二、传递数组通过提供的JSON.stingify方法,将数组转换成字符...

  • ES6学习笔记(七):数组的扩展

    JSON的数据格式转换 JSON的数据格式就是为了前端快速的把JSON转换成数组的一种格式。 Array.of()...

网友评论

      本文标题:jquery里把数组转换成json的方法

      本文链接:https://www.haomeiwen.com/subject/ijdfhhtx.html