关键词:
JSON.stringify(value [, replacer] [, space])
- value:是必选字段。就是你输入的对象,比如数组,类等。
- replacer:这个是可选的。它又分为2种方式,一种是数组,第二种是方法。
情况一:replacer为数组时,通过后面的实验可以知道,它是和第一个参数value有关系的。一般来说,系列化后的结果是通过键值对来进行表示的。 所以,如果此时第二个参数的值在第一个存在,那么就以第二个参数的值做key,第一个参数的值为value进行表示,如果不存在,就忽略。
情况二:replacer为方法时,那很简单,就是说把系列化后的每一个对象(记住是每一个)传进方法里面进行处理。
- space:就是用什么来做分隔符的。
1)如果省略的话,那么显示出来的值就没有分隔符,直接输出来 。
2)如果是一个数字的话,那么它就定义缩进几个字符,当然如果大于10 ,则默认为10,因为最大值为10。
3)如果是一些转义字符,比如“\t”,表示回车,那么它每行一个回车。
4)如果仅仅是字符串,就在每行输出值的时候把这些字符串附加上去。当然,最大长度也是10个字符。
下面用实例说明;
1)只有第一个参数的情况下
//1 var student = new Object(); student.name = "Lanny"; student.age = "25"; student.location = "China"; var json = JSON.stringify(student); alert(json); //alert(student);
结果如下图:
有些人可能会怀疑JSON.stringify的作用。那假如,我们不要这个函数,而直接alert(student),结果如下:
这次意识到JSON.stringify的作用了吧。
2)第二个参数存在,并且第二个参数还是function的时候
//2 var students = new Array() ; students[0] = "onepiece"; students[1] = "naruto"; students[2] = "bleach"; var json = JSON.stringify(students,switchUpper); function switchUpper(key, value) { return value.toString().toUpperCase(); } alert(json); /*下面这种方式也可以 var json = JSON.stringify(students, function (key,value) { return value.toString().toUpperCase()}); alert(json); */
运行结果如下:
3)第二个参数存在,并且第二个参数不是function,而是数组的时候
//3 var stuArr1 = new Array() ; stuArr1[0] = "onepiece"; stuArr1[1] = "naruto"; stuArr1[2] = "bleach"; var stuArr2 = new Array(); stuArr2[0] = "1"; stuArr2[1] = "2"; var json = JSON.stringify(stuArr1,stuArr2) alert(json);
运行结果如下:
第二个参数被忽略了,只是第一个参数被系列化了。
4)如果第一个参数是对象,第二个参数是数组的情况
//4 var stuObj = new Object(); stuObj.id = "20122014001"; stuObj.name = "Tomy"; stuObj.age = 25; var stuArr = new Array(); stuArr[0] = "id"; stuArr[1] = "age"; stuArr[2] = "addr";//这个stuObj对象里不存在。 var json = JSON.stringify(stuObj,stuArr); //var json = JSON.stringify(stuObj,stuArr,1000); //var json = JSON.stringify(stuObj,stuArr,'\t'); //var json = JSON.stringify(stuObj,stuArr,'OK '); alert(json);
运行结果如下:
第三个参数为数字时候的输出结果:
第三个参数为转义字符\t的时候输出的结果:
第三个参数为字符串时候的输出结果:
json.stringify函数
摘抄,好酷的json.stringifyJSON.stringify函数(JavaScript) 将JavaScript值转换为JavaScript对象表示法(Json)字符串。语法 JSON.stringify(value[,replacer][,space])参数 value必需。 要转换的JavaScript值(通常 查看详情
json.parse()和json.stringify()
json.parse()用于从一个字符串解析出json对象varstr=‘{"name":"huangzhong","age":"23"}‘json.parse(str)stringify()用于从对象解析出字符串vara={a:1,b:2}json.stringify(a)‘{"a":1,"b":2}‘ 查看详情
json.stringify,json.parse方法
varobj={name:‘zhangsan‘,age:‘18‘};/**js对象--->JSON字符串*JSON.stringify(js对象)--转化为-->JSON字符串**/console.log(obj);//Object{name:"zhangsan",age:"18"}console.log(JSON.stringify(obj));//{"name":"zhangsan 查看详情
java中的JSON.stringify - android
】java中的JSON.stringify-android【英文标题】:JSON.stringifyinjava-android【发布时间】:2014-03-3110:32:58【问题描述】:有没有办法在android中执行JSON.stringify?我一直在网上看到JSON.stringify(JSONObject),但我在android中找不到JSON类。有什么帮... 查看详情
异步 JSON.stringify
】异步JSON.stringify【英文标题】:AsynchronousJSON.stringify【发布时间】:2014-01-2120:49:40【问题描述】:如果我有:fetched_user.settings=null;fetched_user.settings=JSON.stringify(settings);$http.post(\'/api_endpoint\',val:fetched_user.settings);而JS 查看详情
深度使用json.stringify()
按照JSON的规范,使用JSON.stringify()做对象序列化时,如果一个属性为函数,那这个属性就会被忽略。constdata1={a:‘aaa‘,fn:function(){returntrue}}JSON.stringify(data)//结果是"{"a":"aaa"}"还有一种情况,一个属性的值为undefinedconstdata2={a:‘abc‘,... 查看详情
json.stringify函数
作用:将对象(JSON对象)转换成字符串(JSON字符串)例子:varperson=newObject();person.name="zhangan";person.age="20";console.info(person);//Object{name:"zhangan",age:"20"}console.info(JSON.stringify(person));//{"name":"zhanga 查看详情
如何 JSON.stringify 对象数组
】如何JSON.stringify对象数组【英文标题】:HowtoJSON.stringifyanarrayofobjects【发布时间】:2016-05-0700:44:08【问题描述】:我正在尝试JSON.stringify()以下键/值对,其中值是对象数组。varstring=JSON.stringify(onlineUsers:getUsersInRoom(users,room));这是... 查看详情
json.stringify(),json.parse(),tojson()方法使用
JSON.stringify():将value(Object,Array,String,Number...)序列化为JSON字符串JSON.parse():将JSON数据解析为js原生值toJSON(),作为JSON.stringify中第二个参数(函数过滤器)补充,理解内部顺序很重要。假设把一个对象传入JSON.stringify()序列化对象的顺序如... 查看详情
json.parse()与json.stringify()的区别
JSON.parse()与JSON.stringify()的区别JSON.parse()【从一个字符串中解析出json对象】例子://定义一个字符串vardata=‘{"name":"goatling"}‘//解析对象??JSON.parse(data)结果是:?name:"goatling"JSON.stringify()【从一个对象中解析出字符串】vardata={name:‘go... 查看详情
json.parse(str),json.stringify(a)
1、JSON.parse(str),字符串转换成对象varstr=‘{"name":"huangxiaojian","age":"23"}‘;JSON.parse(str);2、JSON.stringify(a),对象转换成字符串vara={w:1,b:2};JSON.stringify(a); 查看详情
json.parse()与json.stringify()的区别
...tling"}‘//解析对象??JSON.parse(data)结果是:?name:"goatling"JSON.stringify()【从一个对象中解析出字符串】vardata={name:‘goatling‘}JSON.stringify(data)结果是:‘{"nam 查看详情
json.parse()和json.stringify()
... 结果为:Object: {a:1,b:2} JSON.stringify():把一个对象解析成字符串。 例如:vara 查看详情
text[stringify循环json对象]#js#json#stringify#cyclic#object(代码片段)
json.parse()和json.stringify()
JSON.parse()和JSON.stringify():parse用于从一个字符串中解析出json对象,如下:varstr=‘{"name":"huangxiaojian","age":"23"}‘结果:JSON.parse(str) Objectage: "23"name: "huangxiaojian"__proto__: Objectstringi 查看详情
json.parse()和json.stringify()
...在{}外,每个属性名都必须用双引号,否则会抛出异常。stringify()用于从一个对象解析出字符串,如vara={a:1,b:2}JSON.stringify(a) 查看详情
返回 Json.Stringify 结果
】返回Json.Stringify结果【英文标题】:returnJson.Stringfyresult【发布时间】:2016-09-0207:50:10【问题描述】:我有这段代码:$.getJSON(\'http://myjsonurl\',function(json)console.log(JSON.stringify(json.columns)););这会在控制台中返回我从json响应中需要的... 查看详情
在 JSON.stringify 中使用变量
】在JSON.stringify中使用变量【英文标题】:useavariableinJSON.stringify【发布时间】:2014-03-0915:22:13【问题描述】:我在我的节点restful服务器中使用stringify来提供数据:answer=JSON.stringify(activities:result,null,\'\\t\');returnanswer其中result是一... 查看详情