关键词:
JSON.stringify()除了要序列化的js对象外,还可以接受另外两个参数,这两个参数用于指定以不同的方式序列化js对象。第一个参数是个过滤器,可以是一个数组,也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩紧。单独或组合使用这两个参数,可以更全面深入地控制JSON的序列化。
1.过滤结果
如果过滤器参数是数组,那么JSON.stringify()的结果中将只包含数组中列出的属性。
let book =
‘title‘:‘profession‘,
‘authors‘:[‘yk‘],
edition:3,
year:2020
let jsonText = JSON.stringify(book,[‘title‘,‘edition‘]);
得到的jsonText为:
‘title‘:‘profession‘,edition:3
看下面一个传入函数的例子
let book =
‘title‘:‘profession‘,
‘authors‘:[‘yk‘],
edition:3,
year:2020
let jsonText = JSON.stringify(book,function(key, value)
switch(key)
case "authors":
return value.join(",")
case "year":
return 5000;
case "edition":
return undefined;
default:
return value;
);
函数的时候传入两个,key和value,属性名key只能是字符串,如果函数返回undefined,那么相应的属性会被忽略。
所以上面得到的结果是
‘title‘:‘profession‘,‘authors‘:‘yk‘,year:5000
二。JSON.stringify的字符串缩进功能
JSON.stringify()方法的第三个参数用于控制结果中的缩进和空白符。如果这个参数是一个数值,那么它表示的是每个级别缩进的空格数。例如要在每个级别缩进4个空格:
let book =
‘title‘:‘profession‘,
‘authors‘:[
‘yk‘
],
edition:3,
year:2020
let jsonText = JSON.stringify(book,null,4);
得到的jsonText是:
let book =
‘title‘:‘profession‘,
‘authors‘:[
‘yk‘
],
edition:3,
year:2020
?这个数值?最大不能超过10,超过10的按照10处理。
有意思的来了,如果缩进参数是一个字符串而非数值,那么这个字符串会被当作缩进符(不再用空格)
let jsonText = JSON.stringify(book,null,"--");
得到jsontext
--‘title‘:‘profession‘,
--‘authors‘:[
----‘yk‘
--],
--edition:3,
--year:2020
同样缩紧字符不能超过10个,超过10个,结果也只会出现前10个字符
扫码加群,每日更新一篇前端技术文章一起成长。
json.stringify详解
参考技术A当我们使用JSON.stringify()序列化一个值为JSON字符串,只有JSON安全的值才可以通过JSON.stringify()转换为字符串。那么,什么是JSON安全的值?能够有效用JSON形式表示的任何值。非JSON安全的值,例如:undefined、function和symbol... 查看详情
js中json.stringify()与json.parse()与eval()详解及使用案例
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语言,作用是易于阅读和编写,同时也易于机器解析和生成... 查看详情
js之json.stringify()使用详解
参考技术A方法定义:JSON.stringify(value,replacer,space)参数说明:value:js对象replacer:替换对象,可以是一个方法、对象或数组,将value按照替换规则展示。space:填充参数,可以是数字或字符串,将value按照参数进行格式化展示。方... 查看详情
text[stringify循环json对象]#js#json#stringify#cyclic#object(代码片段)
json.stringify()的不常见用法(代码片段)
1.JSON.stringify()只序列化可遍历属性(enumerable=true)varobj=;Object.defineProperties(obj,‘foo‘:value:1,enumerable:true,‘bar‘:value:2,enumerable:false);JSON.stringify(obj);//""foo":1"2.JSON.stringify( 查看详情
第168天:json对象和字符串的相互转换
...,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。JSON.stringify(obj) 将JSON对象转为字符串。JSON.parse(string) 将字符串转为JS 查看详情
jsjson格式化打印:json.stringify方法(代码片段)
具体示例//代码console.log(JSON.stringify(x:5,y:6,null,2));//输出结果"x":5,"y":6JSON.stringify()介绍JSON.stringify()方法将一个JavaScript对象或值转换为JSON字符串,如果指定了一个replacer函数,则可以选择性地替换值,或者制定的replacer是数组,则... 查看详情
你所不知道的json.stringify(代码片段)
译者按:老司机们,你知道JSON.stringify还有第二个和第三个可选参数吗?它们是什么呢?原文:Whatyoudidn’tknowaboutJSON.Stringify译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。JSO... 查看详情
机器学习100天:010多项式回归python实战(代码片段)
机器学习100天,今天讲的是:多项式线性回归Python实战——房价预测。上一节我们介绍了多项式线性回归理论,即构建一个二次多项式来拟合房价与地区人口的关系。今天我们就来编写一个二次多项式回归程序来构建房价预测的... 查看详情
010:debug模式详解
Debug模式:1、创建的Django项目默认就开启debug模式,所以以后我们修改了Django项目代码,然后使用Ctrl+s保存;那么Django项目就会自动重启并加载我们修改后台的代码——无需手动重启;2、开启Django项目debug模式,在开发、测试过... 查看详情
原生js实现json.parse()和json.stringify()(代码片段)
-首先JSON.stringify()是将js对象转换为JSON形式实现思路:通过递归调用,来实现对转换对象Object的深层value进行遍历,利用array的join实现最终字符串拼接functionmyJsonStringify(obj)lettype=typeofobj;if(type!=="object"||type===null)if(/string|undefined|funct 查看详情
json.stringify()与json.parse()没有你想的那样简单(代码片段)
...家对JSON.string()的第一印象是什么?我现在依稀记得:JSON.stringify()方法将一个JavaScript对象或值转换为JSON字符串。其他的就没有什么特别的印象。其实,它在对不同类型数据处理时,会做出不同的反应。下面坐好我在峡谷买的船... 查看详情
相当于 JSON.stringify 的 jquery [重复]
】相当于JSON.stringify的jquery[重复]【英文标题】:jqueryequivalentforJSON.stringify[duplicate]【发布时间】:2012-06-2213:17:18【问题描述】:可能重复:SerializingtoJSONinjQuery我在我的javascript代码中使用jquery作为库。但有时我必须JSON.stringify()。... 查看详情
功能比json.stringify强大的stringify(亲测好用)(代码片段)
介绍 写了一个能将对象或数组转换成字符串(内部能转义多种数据类型)的函数,供大家使用。 原理是把值转化为js代码字符串,再利用eval()函数把字符串转化为对象或数组,实现深拷... 查看详情
返回 Json.Stringify 结果
】返回Json.Stringify结果【英文标题】:returnJson.Stringfyresult【发布时间】:2016-09-0207:50:10【问题描述】:我有这段代码:$.getJSON(\'http://myjsonurl\',function(json)console.log(JSON.stringify(json.columns)););这会在控制台中返回我从json响应中需要的... 查看详情
机器学习100天:010多项式回归python实战(代码片段)
机器学习100天,今天讲的是:多项式线性回归Python实战——房价预测。上一节我们介绍了多项式线性回归理论,即构建一个二次多项式来拟合房价与地区人口的关系。今天我们就来编写一个二次多项式回归程序来构建房价预测的... 查看详情
JSON.stringify() 和 JavaScript 对象
】JSON.stringify()和JavaScript对象【英文标题】:JSON.stringify()andJavaScriptObjects【发布时间】:2011-08-2615:26:00【问题描述】:我在想也许我错过了一些我现在正在学习的JavaScript内容。我在Chrome控制台中尝试了这段代码:a=[];a.name="test";JS... 查看详情
JSON.stringify 深层对象
】JSON.stringify深层对象【英文标题】:JSON.stringifydeepobjects【发布时间】:2012-12-0110:13:23【问题描述】:我需要一个从任何参数构建JSON有效字符串的函数,但是:通过不添加两次对象来避免递归问题通过截断超过给定深度来避免... 查看详情