json.stringify函数

张小贝      2022-02-09     660

关键词:

摘抄,好酷的json.stringify

JSON.stringify 函数 (JavaScript)

 

将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串。

语法

 

 
 
JSON.stringify(
value [, replacer] [, space])

参数

 

value

必需。  要转换的 JavaScript 值(通常为对象或数组)。  

replacer

可选。  用于转换结果的函数或数组。  

如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。  使用返回值而不是原始值。  如果此函数返回 undefined,则排除成员。  根对象的键是一个空字符串:""。  

如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。  成员的转换顺序与键在数组中的顺序一样。  当 value 参数也为数组时,将忽略 replacer 数组。  

space

可选。  向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取。  

如果省略 space,则将生成返回值文本,而没有任何额外空格。

如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格。  如果 space 大于 10,则文本缩进 10 个空格。  

如果 space 是一个非空字符串(例如“ ”),则返回值文本在每个级别中缩进字符串中的字符。

如果 space 是长度大于 10 个字符的字符串,则使用前 10 个字符。

示例

此示例使用 JSON.stringify 将 contact 对象转换为 JSON 文本。  定义 memberfilter 数组以便只转换 surname 和 phone 成员。  省略 firstname 成员。  

 
var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];

var memberfilter = new Array();
memberfilter[0] = "surname";
memberfilter[1] = "phone";
var jsonText = JSON.stringify(contact, memberfilter, "	");
document.write(jsonText);
// Output:
// { "surname": "Aaberg", "phone": [ "555-0100", "555-0120" ] }

示例

此示例将 JSON.stringify 与一个数组一起使用。   replaceToUpper 函数将数组中的每个字符串转换为大写形式。  

 
var continents = new Array();
continents[0] = "Europe";
continents[1] = "Asia";
continents[2] = "Australia";
continents[3] = "Antarctica";
continents[4] = "North America";
continents[5] = "South America";
continents[6] = "Africa";

var jsonText = JSON.stringify(continents, replaceToUpper);

function replaceToUpper(key, value) {
    return value.toString().toUpperCase();
}

//Output:
// "EUROPE,ASIA,AUSTRALIA,ANTARCTICA,NORTH AMERICA,SOUTH AMERICA,AFRICA"

示例

此示例使用 toJSON 方法将字符串值转换为大写形式。

 
var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];

contact.toJSON = function(key)
 {
    var replacement = new Object();
    for (var val in this)
    {
        if (typeof (this[val]) === ‘string‘)
            replacement[val] = this[val].toUpperCase();
        else
            replacement[val] = this[val]
    }
    return replacement;
};

var jsonText = JSON.stringify(contact);
document.write(jsonText);

// Output:
{"firstname":"JESPER","surname":"AABERG","phone":["555-0100","555-0120"]}



‘{"firstname":"JESPER","surname":"AABERG","phone":["555-0100","555-0120"]}‘
*/

 

 

为啥 JSON.stringify 不显示作为函数的对象属性?

】为啥JSON.stringify不显示作为函数的对象属性?【英文标题】:Whydoesn\'tJSON.stringifydisplayobjectpropertiesthatarefunctions?为什么JSON.stringify不显示作为函数的对象属性?【发布时间】:2012-05-3013:13:44【问题描述】:为什么JSON.stringify()不... 查看详情

TypeError: JSON.stringify(...).then 不是一个函数 - React JS

】TypeError:JSON.stringify(...).then不是一个函数-ReactJS【英文标题】:TypeError:JSON.stringify(...).thenisnotafunction-ReactJS【发布时间】:2020-04-1705:49:41【问题描述】:我正在尝试将我的react应用程序与登录页面的后端连接起来。我正在使用承... 查看详情

json.stringify()的使用

参考技术A复制粘贴一下JSON.stringify()三个参数的含义:返回值:返回包含JSON文本的字符串。从上面的参数说明中可以看到,第二个参数可以是一个函数或者数组,这给了我们很大的发挥空间。stringify()的第一个和第三个参数都好... 查看详情

深度使用json.stringify()

按照JSON的规范,使用JSON.stringify()做对象序列化时,如果一个属性为函数,那这个属性就会被忽略。constdata1={a:‘aaa‘,fn:function(){returntrue}}JSON.stringify(data)//结果是"{"a":"aaa"}"还有一种情况,一个属性的值为undefinedconstdata2={a:‘abc‘,... 查看详情

json.parse()与json.stringify()

JSON.parse()方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。提供可选的reviver函数用以在返回之前对所得到的对象执行变换(操作)。语法JSON.parse(text[,reviver])参数text要被解析成JavaScript值的字符串,查看JSON对象学习... 查看详情

JavaScript 中 JSON.stringify 中的第二个参数

】JavaScript中JSON.stringify中的第二个参数【英文标题】:SecondargumentinJSON.stringifyinJavaScript【发布时间】:2013-07-0610:20:20【问题描述】:在JavaScript的JSON.stringify()函数中,我偶尔会看到如下语法:JSON.stringify(obj,null,4)但是,我不知道... 查看详情

返回 Json.Stringify 结果

】返回Json.Stringify结果【英文标题】:returnJson.Stringfyresult【发布时间】:2016-09-0207:50:10【问题描述】:我有这段代码:$.getJSON(\'http://myjsonurl\',function(json)console.log(JSON.stringify(json.columns)););这会在控制台中返回我从json响应中需要的... 查看详情

jquery解决ie6、7、8不能使用json.stringify函数的问题

...数将JSON对象转换成JSON字符串,解决IE6、7、8不能使用JSON.stringify函数的问题!复制代码代码如下:<!--[ifltIE9]><scriptsrc="json2.js"></script><![endif]-->这样JSON.stringify便可以正常使用!得到JSON字符串后传回服务器... 查看详情

JSON.stringify 深层对象

】JSON.stringify深层对象【英文标题】:JSON.stringifydeepobjects【发布时间】:2012-12-0110:13:23【问题描述】:我需要一个从任何参数构建JSON有效字符串的函数,但是:通过不添加两次对象来避免递归问题通过截断超过给定深度来避免... 查看详情

json.stringify(),json.parse(),tojson()方法使用

JSON.stringify():将value(Object,Array,String,Number...)序列化为JSON字符串JSON.parse():将JSON数据解析为js原生值toJSON(),作为JSON.stringify中第二个参数(函数过滤器)补充,理解内部顺序很重要。假设把一个对象传入JSON.stringify()序列化对象的顺序如... 查看详情

json.stringify深拷贝的缺点

参考技术A1、如果obj里面有时间对象,则JSON.stringify后再JSON.parse的结果,时间将只是字符串的形式,而不是对象的形式2、如果obj里面有RegExp,则打印出来是空对象3、如果对象中有函数或者undefined,则会直接被丢掉4、如果json里有... 查看详情

json序列化(stringify)对象时排除某些属性的两种方法

JavaScript的JSON对象本身就带有序列化和反序列化的函数,为parse和stringify,我们一般使用这两个函数将JSON对象持久化。如:varPersion={   username:"Kris",   password:"1234567890"}alert(JSON.stringify(Persion)) &nb 查看详情

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

JSON.stringify()除了要序列化的js对象外,还可以接受另外两个参数,这两个参数用于指定以不同的方式序列化js对象。第一个参数是个过滤器,可以是一个数组,也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中... 查看详情

功能比json.stringify强大的stringify(亲测好用)(代码片段)

介绍        写了一个能将对象或数组转换成字符串(内部能转义多种数据类型)的函数,供大家使用。        原理是把值转化为js代码字符串,再利用eval()函数把字符串转化为对象或数组,实现深拷... 查看详情

如何获取 JSON stringify 的错误消息?

】如何获取JSONstringify的错误消息?【英文标题】:HowtogettheerrormessageforJSONstringify?【发布时间】:2016-06-0719:49:33【问题描述】:假设我有一个这样的对象varobj="name":"arun"age当我尝试JSON.stringify(obj)时,我会收到一个错误,因为obj不... 查看详情

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的妙用

...一个是parse,用来把json字符串转换为json对象,另一个是stringify,用来把json对象转换为json字符串,可是stringify其实还有其它作用。比如说有一个对象a:1,b:2,c:3,d:4,e:5,现在我们只需要b属性和e属性,可以这样来操作JSON.stringify(value,re... 查看详情

js中json.stringify()方法,将js对象转换成字符串,传入服务器

...在向服务器发送数据时一般是字符串。我们可以使用JSON.stringify()方法将JavaScript对象转换为字符串。语法JSON.stringify(value[,replacer[,space]])参数说明:value:必需,要转换的JavaScript值(通常为对象或数组)。replacer:可选。用于转换结... 查看详情