jsonstringify实现,js JSON.stringify

  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,“海口”);//

  就是这样。晚安.

jsonstringify实现,js JSON.stringify