一、作用:这个函数的作用主要是为了序列化对象。就是把原来是对象的类型转换成字符串类型(json格式的String类型)。

二、语法:JSON.stringify(value[, replacer][, space])

value:必须要的字段。传入的对象,如数组,类等。

replacer:可选字段。两种方式,一是方法,二是数组。

情况一,传入的是数组。以第二个数组的值为key,第一个数组为value进行序列化,如果不存在就忽略。

情况二,传入的是方法。把序列化后的每一个对象传进方法里面进行处理。

space:分隔符。

1、如果省略,那显示出来的值就没有分隔符,直接输出。

2、如果是一个数字,那它就定义缩进几个字符,如果大于10,则最大值为10。

3、如果是一些转义字符,比如“\t”,表示回车,那它每行一个回车。

4、如果是字符串,那每行输出组把该字符串附加上去,最大长度也是10个字符。

三、实例:

1、只有一个参数,即只传入参数value

var text = {};

text.id = 1;

text.name = "fang";

var json = JSON.stringify(text);

alert(text + " | " + json);

结果:

2、第二个参数存在,传入的值是function时

function upperCase(key, value) {

return value.toString().toUpperCase();

}

var text = new Array();

text[0] = "abc";

text[1] = "defg";

var json = JSON.stringify(text, upperCase);

alert(text + " | " + json);

结果:

3、第二个参数存在,并且为数组

3.1、进行序列化的对象是数组,那忽略第二个参数,直接进行序列化

var text = new Array();

text[0] = "abc";

text[1] = "defg";

var text2 = new Array();

text2[0] = "1";

text2[1] = "2";

var json = JSON.stringify(text, text2);

alert(text + " | " + json);

结果:

3.2、第一个参数不是数组对象,第二个是数组,如果第二个数组的value在第一个存在,那就以第二个的值为key,第一个值为value进行表示

var text = new Object();

text.id = 1;

text.name = "fxr";

text.sex = "male";

var array = new Array();

array[0] = "id";

array[1] = "name";

array[2] = "age"; // 第一个对象中不存在该属性

var json = JSON.stringify(text, array);

alert(text + " | " + json);

结果:array[2] = “age” 这个在第一个中找不到,就不显示。

4、第三个参数存在

4.1、参数为数字:定义缩进几个字符,最大值为10

var text = new Object();

text.id = 1;

text.name = "fxr";

text.sex = "male";

var array = new Array();

array[0] = "id";

array[1] = "name";

array[2] = "age"; // 第一个对象中不存在该属性

// 缩进20个字符,但是最大值为10,缩进10个字符

var json = JSON.stringify(text, array, 20);

alert(text + " | " + json);

结果:

4.2、参数为转义字符:比如“\t”,表示回车,那每一行一个回车

var text = new Object();

text.id = 1;

text.name = "fxr";

text.sex = "male";

var array = new Array();

array[0] = "id";

array[1] = "name";

array[2] = "age"; // 第一个对象中不存在该属性

// 换行

var json = JSON.stringify(text, array, "\t");

alert(text + " | " + json);

结果:

4.3、参数为字符串,则附加上去,最大长度为10个字符

var text = new Object();

text.id = 1;

text.name = "fxr";

text.sex = "male";

var array = new Array();

array[0] = "id";

array[1] = "name";

array[2] = "age"; // 第一个对象中不存在该属性

// 字符串

var json = JSON.stringify(text, array, "添加");

alert(text + " | " + json);

结果:

JSON.stringify 的使用的更多相关文章

  1. JSON.parse()和JSON.stringify()

    1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf","age":"23&q ...

  2. JSON.stringify()与JSON.parse()

    JSON.stringify()用于把一个对象解析成字符串,如 var student = { age: 23, name: 'wang' } JSON.stringify(student); 结果: ...

  3. ASP.NET 5 - $.ajax post JSON.stringify(para) is null

    JavaScript 代码: var para = {}; para.id = $("#ad-text-id").val(); para.title = $("#ad-t ...

  4. JSON.stringify()和JSON.parse()

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  5. 解决IE8 内置JSON.stringify,中文变unicode的问题

    转自:http://my.oschina.net/u/919074/blog/191131 项目中出现在IE下出现把json对象转为json串中文变成unicode的问题,最后经过排查,发现是IE8内 ...

  6. JSON.parse()和JSON.stringify()区别

    parse用于从一个字符串中解析出json对象,如: var str = '{"name":"huangxiaojian","age":&q ...

  7. JSON.stringify() / JSON.parse()

    JSON.stringify() 这个方法可以把javascript对象转换成json字符串. JSON.parse() 这个方法可以把 json 字符串转换成 javascript对象. [下面来看 ...

  8. js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

    JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...

  9. JSON.stringify////////////////////////////////zzzzzzzzzzzzzz

    JSON.stringify 语法实例讲解 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个类 ...

  10. 浅谈JSON.stringify 函数与toJosn函数和Json.parse函数

    JSON.stringify 函数 (JavaScript) 语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 Jav ...

随机推荐

  1. 【亲测】手把手教你如何破解pycharm(附安装包和破解文件)

    此教程支持最新的2019.3版本的Pycharm,并兼容之前的版本. 一.准备工作: 1.下载Pycharm 有条件的可以自行去官网下载,这里我提供了我下载的版本,已上传到百度网盘,链接在下方. 2. ...

  2. SpringCloud Alibaba Nacos 服务注册

    业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...

  3. React.Fragment

    React 中一个常见模式是为一个组件返回多个元素.Fragments 可以让你聚合一个子元素列表,并且不在DOM中增加额外节点. Fragments 看起来像空的 JSX 标签: render() ...

  4. Android开发工具资料Android Manifest 权限描述大全 随时随地查询权限描述。

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985转载请说明出处. 在文章最后面赠送了markdown格式的此文章内容下载.(不要再问问什么用markdo ...

  5. android MVVM(1)用LiveData关联VM 与 V

    1.官方文档 MVVM 官方文档: https://developer.android.com/jetpack/docs/guide ViewModel 文档: https://developer.a ...

  6. Docker+Kubernetes/K8s+Jenkins视频资料【干货分享】

    不管你是否意识到,在这几年时间里,技术岗招聘重点关注的是Docker.Kubernetes(以下简称: K8S),面试10家公司得有8家会问你会不会"docker"."k ...

  7. 万字长文,以代码的思想去详细讲解yolov3算法的实现原理和训练过程,Visdrone数据集实战训练

    以代码的思想去详细讲解yolov3算法的实现原理和训练过程,并教使用visdrone2019数据集和自己制作数据集两种方式去训练自己的pytorch搭建的yolov3模型,吐血整理万字长文,纯属干货 ...

  8. 项目实战:Qt+Ffmpeg+OpenCV相机程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  9. C009:产品格式化输出

    代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int itemNum; float unitPric ...

  10. JVM调优和深入了解性能优化

    JVM调优的本质: 并不是显著的提高系统性能,不是说你调了,性能就能提升几倍或者上十倍,JVM调优,主要调的是稳定.如果你的系统出现了频繁的垃圾回收,这个时候系统是不稳定的,所以需要我们来进行JVM调 ...