JSON.stringify()
概述
JSON.stringify()
方法可以将任意的 JavaScript 值序列化成 JSON 字符串。
语法
JSON.stringify(value[, replacer [, space]])
参数
value
- 将要序列化成 JSON 字符串的值。
replacer
可选- 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中。关于该参数更详细的解释和示例,请参考使用原生的 JSON 对象一文。
space
可选- 指定缩进用的空白字符串,用于美化输出(pretty-print)。
具体可以参考 MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
一、通常情况下,我们只使用如下代码进行简单的 JSON 字符串化:
var JSONobj = {"name" : "value","arr" : ['str1','str2']};
console.log(JSON.stringify(JSONobj));
//结果为{"name":"value","arr":["str1","str2"]}
二、实际上,第二个参数也有很重要的用途,比如对对象内的key-value 依次进行处理后转换为字符串:
var JSONobj = {"name" : "value","name2":"value2","arr" : ['str1','str2',{'arrObj' : 'arrObj'}]};
JSON.stringify(JSONobj,function(key,value){
console.log(key,value)
});
//结果为:JSONobj对象(value值),key无值
三、当需要展示的 json 串对用户友好,增加可读性时,可以使用第三个参数:
var JSONobj = {"name" : "value","arr" : ['str1','str2',{'arrObj' : 'arrObj'}]};
JSON.stringify(JSONobj, null, '\t');
/* "{
"name": "value",
"arr": [
"str1",
"str2",
{
"arrObj": "arrObj"
}
]
}" */
实际上以上结果经过了两次处理:
1. 为每一个 ‘{’、‘}’、value 后的‘,’ 末尾添加一个\n
2. 为每一个一级 key 前面添加一个\t (tab制表符,即本例中第三个参数值),二级 key 前面加两个\t,以此类推。
为了更清晰的验证以上两点,进行如下测试:
var JSONobj = {"name" : "value","arr" : ['str1','str2',{'arrObj' : 'arrObj'}]};
JSON.stringify(JSONobj, null, '\t').replace(/\n/g,'|--N--|').replace(/\t/g,'|--T--|');
//结果为"{|--N--||--T--|"name": "value",|--N--||--T--|"arr": [|--N--||--T--||--T--|"str1",|--N--||--T--||--T--|"str2",|--N--||--T--||--T--|{|--N--||--T--||--T--||--T--|"arrObj": "arrObj"|--N--||--T--||--T--|}|--N--||--T--|]|--N--|}"
JSON.stringify()的更多相关文章
- 有意思的JSON.parse()、JSON.stringify()
前言 现在JSON格式在web开发中非常重要,特别是在使用ajax开发项目的过程中,经常需要将后端响应的JSON格式的字符串返回到前端,前端解析成JS对象值(JSON 对象),再对页面进行渲染. 在数 ...
- JSON.parse()和JSON.stringify()(转载)
parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...
- 关于对JSON.parse()与JSON.stringify()的理解
JSON.parse()与JSON.stringify()的区别 JSON.parse()[从一个字符串中解析出json对象] 例子: //定义一个字符串 var data='{"nam ...
- JSON之—— JSON.parse()和JSON.stringify() (插曲)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46391269 parse用于从一个字符串中解析出json对象,如 var str ...
- Python模块:shutil、序列化(json&pickle&shelve)、xml
shutil模块: 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fscr,fdst [, length]) # 将文件内容拷贝到另一个文件中 import shu ...
- qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()使用方法
一.JSON.parse(用于从一个字符串中解析出json 对象)ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常 let str = '[{"field":" ...
- 前端js传值JSON.stringify(obj)
用bootstrap-talbe前端传值 首先直接传肯定是不行的; 其次做一个全局变量也不行,因为这里的问题的是用bootstrap-table进行生成的操作HTML,从这里datass = row ...
- JSON相关(一):JSON.parse()和JSON.stringify()
parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...
- JSON.stringify语法解析(自己留存)
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为2 ...
随机推荐
- Kali 2016.2版本安装vmtools实现本机与虚拟机文件复制
Kali官方下载:http://cdimage.kali.org/kali-2016.2/kali-linux-2016.2-amd64.iso VM12 Pro下载:https://mega.nz/ ...
- 多边形裁剪的Sutherland-Hodgman算法
多边形裁剪是渲染管线中重要的一个子阶段,它将视截体外的多边形去除.一种简单的裁剪策略是一旦发现一个顶点在裁剪区域以外,就立刻丢弃该多边形.更加精细的做法则是,将原来的多边形拆为多个不跨越边界的多边形, ...
- C# 构造post参数一种看起来直观点的方法[转]
因为本人经常爱用C#做一些爬虫类的小东西,每次构造post参数的时候,都是直接字符串拼接的方式的,有时候改起来不太方便. 场景: 需要post一个地址 参数列表 : username:管理员 pass ...
- AVAudioPlayer播放本地音频
AVAudioPlayer苹果官方上说一般用于播放本地音频,不能用于播放网络上的音频. 具体的代码:先导入 #import <AVFoundation/AVFoundation.h> // ...
- id to load is required for loading
id一般作为主键,不为空.springmvc hibernate 框架中根据参数ids执行批量删除的方法时报错,ids是id主键的数组集合.去搜了下,原因别的博客说了,是id为空引起的.实际上id不为 ...
- Mac使用最多的软件,整理集合
软件资源 #[PDF移除密码]Cisdem PDFPasswordRemover 3.0.0 [TNT] #Alfred_3.1.1_737 #fwmso2016vlu2.0 #iHosts #Omn ...
- SpringMVC操作指南-登录功能与请求过滤
[1] Source http://code.taobao.org/p/LearningJavaEE/src/LearningSpringMVC005%20-%20Login%20and%20Filt ...
- Error : should use android:showAsAction when not using support library
我有一个ListActivity,然后一个menu/options.xml android:showAsAction报错: should use android:showAsAction when n ...
- 常用prototype函数
$("spcode").value --取得当前页面的值的value,可以赋值 $F('spcode') --不能赋值 $!spcode - ...
- python-study1 in hubei
1.安装好python后要配置环境变量(C:\Python27\Scripts---能找到pip.exe和easy_install.exe和C:\Python27---能找到python.exe) 2 ...