加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSON.parse 函数 (JavaScript)

发布时间:2020-12-16 19:49:35 所属栏目:百科 来源:网络整理
导读:将 JavaScript 对象表示法 (JSON) 字符串转换为对象。 JSON.parse(text [,reviver]) 参数 text 必需。 一个有效的 JSON 字符串。 reviver 可

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

JSON.parse(text [,reviver])
参数
text

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

reviver

可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。 如果成员包含嵌套对象,则先于父对象转换嵌套对象。 对于每个成员,会发生以下情况:

  • 如果 reviver 返回一个有效值,则成员值将替换为转换后的值。

  • 如果 reviver 返回它接收的相同值,则不修改成员值。

  • 如果 reviver 返回 nullundefined,则删除成员。

返回值

一个对象或数组。

异常

如果此函数引发 JavaScript 分析器错误(如“SCRIPT1014:无效字符”),则输入文本将不遵循 JSON 语法。 若要更正此错误,请执行下列操作之一:

  • 修改 text 参数以遵循 JSON 语法。 有关更多信息,请参见 JSON 对象的 BNF syntax notation(BNF 语法表示法)。

  • 确保通过 JSON 兼容的实现对文本参数进行序列化,例如 JSON.stringify

示例

以下示例使用 JSON.parse 将 JSON 字符串转换成对象。

 
          
         

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';

var contact = JSON.parse(jsontext);

document.write(contact.surname + "," + contact.firstname);


// Output: Aaberg,Jesper

以下示例演示了如何使用 JSON.stringify 将数组转换成 JSON 字符串,然后使用 JSON.parse 将该字符串还原成数组。

 
         var arr = ["a","b","c"];

var str = JSON.stringify(arr);

document.write(str);

document.write ("<br/>");

var newArr = JSON.parse(str);

while (newArr.length > 0) {

document.write(newArr.pop() + "<br/>");

}

// Output:

["a","c"]

c

b

a

reviver 函数通常用于将国际标准化组织 (ISO) 日期字符串的 JSON 表示形式转换为协调世界时 (UTC) 格式 Date 对象。

此示例使用 JSON.parse 来反序列化 ISO 格式的日期字符串。dateReviver函数为格式为 ISO 日期字符串的成员返回Date对象。

 
         var jsontext = '{ "hiredate": "2008-01-01T12:00:00Z","birthdate": "2008-12-25T12:00:00Z" }';

var dates = JSON.parse(jsontext,dateReviver);

document.write(dates.birthdate.toUTCString());

function dateReviver(key,value) {

var a;

if (typeof value === 'string') {

a = /^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2}(?:.d*)?)Z$/.exec(value);

if (a) {

returnnewDate(Date.UTC(+a[1],+a[2] - 1,+a[3],+a[4],

+a[5],+a[6]));

return value;

};

// Thu,25 Dec 2008 12:00:00 UTC

要求


在以下文档模式中受到支持:Internet Explorer 8 标准、Internet Explorer 9 标准、Internet Explorer 10 标准、Internet Explorer 11 标准。Windows 应用商店 应用程序中也支持此项。请参阅 版本信息。

在以下文档模式中不受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式。

请参见

参考

JSON.stringify 函数 (JavaScript)
toJSON 方法 (Date) (JavaScript)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读