010天json.stringify()详解(代码片段)

bbqq1314 bbqq1314     2023-04-09     361

关键词:

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有效字符串的函数,但是:通过不添加两次对象来避免递归问题通过截断超过给定深度来避免... 查看详情