在stringify功能进行了简要的论述,以JSONtojosn函数和解析函数

json.stringify功能(Javascript)

语法:JSON.stringify(价值{ } } {,替代品,空间} }

将Javascript值转换为Javascript对象表示(JSON)字符串。

复制代码代码如下所示:

价值

这是必要的。要转换的Javascript值(通常是一个对象或数组)。

替代品

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

如果替代品是一个函数,JSON.stringify将调用函数进入键和各成员值。使用返回值而不是原来的值。如果函数的返回值是未定义的,成员是被排除在外。根对象的关键是一个空字符串:。

如果替代品是一个数组,只有成员密钥数组中的值被转换。一成员的变化顺序为数组中的键的顺序相同。当参数值也是一个数组,数组的替代品将被忽略。

空间

可选的。添加缩进,空格和换行符,以返回JSON文本更容易阅读。

如果省略空间,返回值文本将生成,不需要任何额外空间。

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

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

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



如果该值有tojson json.stringify函数使用的方法,该方法返回的值。如果该tojson方法返回的值是未定义的,它不会转换的成员。这使对象来确定自己的JSON表示。

没有JSON表示的值,如未定义的,将不被转换。在对象中,这些值将被丢弃。在数组中,这些值将被null替换。

执行顺序

在序列化过程中,如果参数值对应的tojson方法,然后json.stringify将首先调用tojson方法。如果方法不存在,是利用原有的价值。其次,如果提供的替代参数值(原始值或返回值的tojson)将与替代品的参数返回值取代。最后,一个空间的基础上加入了可选的空间参数的值来生成最终的JSON文本。

这个例子使用json.stringify转换成JSON文本接触对象。定义memberfilter阵列,只有姓和电话成员转换。省略名成员。

复制代码代码如下所示:

var =新对象();

contact.firstname =Jesper ;

contact.surname =阿伯格;

contact.phone = {555-0100

无功memberfilter =新的数组();

memberfilter { 0 } =姓;

memberfilter { 1 } =电话;

无功jsontext = json.stringify(接触,memberfilter, T );

document.write(jsontext);

输出:

/ / {姓:阿伯格



tojson方法(日期)(Javascript)

语法:objectname.tojson()

对象

这是必需的,需要用JSON序列化的对象。

该方法是tojson内置日期Javascript对象的成员。它返回的ISO格式的日期字符串(由后缀Z表示)在UTC时区。

下面的示例序列化的值的字符串成员价值的大写的tojson方法,tojson方法被调用时,json.stringify叫做。

复制代码代码如下所示:

Javascript

var =新对象();

contact.firstname =Jesper ;

contact.surname =阿伯格;

contact.phone = {555-0100

contact.tojson =功能(关键)

{

var替换=新对象();

因为(VaR Val在此)

{

如果(typeof(这{瓦尔})= 'String')

更换{ } = { }这瓦尔Val toUpperCase();

其他的

替换{ } =此{ }

}

退货换货;

};

无功jsontext = json.stringify(接触);

价值jsontext: / *

{FirstName:Jesper

* /



JSON.parse函数(Javascript)

将Javascript对象表示(JSON)字符串转换为对象。

语法:JSON.parse(文{,齐磊})

复制代码代码如下所示:

文本

这是必需的。一个有效的JSON字符串。

齐磊

可选的:一个转换结果的函数。这个函数是为对象的每个成员调用的。如果一个成员包含一个嵌套对象,那么嵌套对象在父对象之前被转换:

如果Reviver返回有效值、会员价值被转换的值替换。

如果Reviver返回接收到的相同的值,该成员的值不会被修改。

如果Reviver返回null或undefined,成员删除。



下面的示例使用JSON.parse将JSON字符串转换成一个对象。

复制代码代码如下所示:

无功jsontext ={FirstName:Jesper

VaR接触= JSON.parse(jsontext);

document.write(contact.surname +

输出: /艾伯格,杰斯珀



下面的示例演示如何使用json.stringify转换成JSON字符串数组,然后使用JSON.parse将字符串转换为一个数组。

复制代码代码如下所示:

var arr = {

var str = json.stringify(ARR);

document.write(STR);

document.write();

var newarr = JSON.parse(STR);

而(newarr.length > 0){

(newarr.pop document.write()+);

}

输出: