jsonstringify实现,js JSON.stringify
JSON.stringify语法解释
我知道javascript很久了,但说实话,这种用法我还是第一次见到。我又惭愧又惭愧。于是乎,我在网上找了写作素材,写了一些例子,希望能给园丁们一些帮助。
函数:这个函数主要用于序列化对象。
可能有些人对连载这个词过敏。我的理解很简单。也就是说,原来的对象类型转换成了字符串类型(或者更准确地说,是json类型)。就这么简单。例如,如果你有一个类,你可以通过这个方法把它转换成相应的json类型。很简单。
继续看。
语法:
JSON.stringify(值[,替换符] [,空格])
值:是必填字段。就是你输入的对象,比如数组,类等等。
Replacer:这个是可选的。分为两种方式,一种是方法,一种是数组。
情况一:先说数据。从我们后来的实验可以知道,它和第一个有关。一般来说,我们的序列化结果由键值对表示。
例如:
姓名:兰,年龄:25岁
这个表格。
因此,在这种形式下,如果第二个值存在于第一个中,那么第二个值被用作键,第一个值是值。如果它不存在,对不起,忽略它。【是不是有点抽象?我也这么认为,不过你可以等着看实验。呼。】
情况二:如果是方法,那就很简单了,也就是说把每个序列化的对象(记住是每个对象)都传入方法进行处理。
空间:很好理解。用什么做分隔符?
1.如果省略,显示的值将没有分隔符。直接输出
2.如果是数字,会缩进几个字符。当然,如果大于10,则最大值为10。
3.如果是一些转义字符,比如“\t”,表示回车,那么每行有一个回车。
4.如果只是字符串,OK,每行输出值的时候附上这些字符串就行了。当然最大长度也是10个字符。
开始举例说明;
1.只有一个参数时:
?var student=new Object();student.name=兰尼;学生年龄= 25 ;student.location= Chinavar json=JSON.stringify(学生);警戒(学生);结果如下:
可能有人会怀疑JSON.stringify的作用,好吧。假设我们不想要这个函数。以下代码类似于:
?var student=new Object();student.name=兰尼;学生年龄= 25 ;student.location= China//var json=JSON.stringify(学生);警戒(学生);恭喜你,你得到的结果是:
你在开玩笑吗?继续吧。
2.当第二个参数存在并且第二个参数仍然起作用时
?var students=new Array();学生[0]=兰尼;学生[1]=董;学生[2]=‘我爱你’;var json=JSON.stringify(学生,switch upper);函数switchUpper(key,value) {return value.toString()。toupper case();} alert(JSON);//var JSON=JSON . stringify(students,function (key,value) {?//返回值. toString()。toupper case();//});上面的方法也可以改成下面的方法。两个都一样,只是写法有点不一样。结果如下:
3.当第二个参数存在时,并且第二个参数不是函数,而是一个数组。
3.1【误区】如果第一个参数是数组,第二个参数也是数组,那么只会显示第一个参数的值。
例如:
?var students=new Array();学生[0]=兰尼;学生[1]=董;学生[2]=‘我爱你’;var stu=new Array();stu[0]= 1 ;stu[1]= 2 ;var json=JSON.stringify(学生,stu);alert(JSON);抱歉的结果是:
第二个被忽略,但第一个被连载。
3.2如果第一个是对象(这里说的对象就像C#里可以新建的那种),第二个就是数组。
然后,如果第二个值存在于第一个中,那么第二个值被用作键,第一个值是值。
?var student=new Object();student.qq= 5485891512student.name=兰尼;学生.年龄=25;var stu=new Array();stu[0]= QQ ;stu[1]=年龄;stu[2]=嗨;//在此学生对象中不存在。var json=JSON.stringify(student,stu);alert(JSON);结果如下:
因为stu[2]=‘嗨’;这个hi在第一个里找不到,就不显示了。
4.第三个参数
4.1.如果省略,则显示的值没有分隔符。直接输出
例如:
?var student=new Object();student.qq= 5485891512student.name=兰尼;学生.年龄=25;var stu=new Array();stu[0]= QQ ;stu[1]=年龄;stu[2]=嗨;var json=JSON.stringify(student,stu);alert(JSON);输出是:
4.2.如果它是一个数字,那么它被定义为缩进几个字符。当然,如果大于10,则最大值为10。
?var student=new Object();student.qq= 5485891512student.name=兰尼;学生.年龄=25;var stu=new Array();stu[0]= QQ ;stu[1]=年龄;stu[2]=嗨;var json=JSON.stringify(学生,stu,100);//注意这里的100 alert(JSON);所以你得到的是:
10个字符为空。
4.3.如果是一些转义字符,比如“\t”,表示回车,那么每行有一个回车。
是一样的。
4.4.如果只是字符串,OK,每行输出值的时候附上这些字符串也是可以的。当然最大长度也是10个字符。
如果是varjson=json.stringify(学生,stu,“海口”);//
就是这样。晚安.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。