JSON.parse 函数 (JavaScript)

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

语法

参数

返回值

异常

以下示例使用 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","b","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) {
            return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
                            +a[5], +a[6]));
        }
    }
    return value;
}; 

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

要求

在以下文档模式中受到支持:Internet Explorer 8 标准模式、Internet Explorer 9 标准模式、Internet Explorer 10 标准模式、Internet Explorer 11 标准模式。此外,也在应用商店应用(Windows 8 和 Windows Phone 8.1)中受支持。请参阅 版本信息

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

请参阅

时间: 2024-09-17 05:30:51

JSON.parse 函数 (JavaScript)的相关文章

浅谈JSON.stringify 函数与toJosn函数和Json.parse函数

原文:浅谈JSON.stringify 函数与toJosn函数和Json.parse函数 JSON.stringify 函数 (JavaScript)   语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer

浅谈JSON中stringify 函数、toJosn函数和parse函数_json

JSON.stringify 函数 (JavaScript) 语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. 复制代码 代码如下: value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员

深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解_javascript技巧

"JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使JSON成为理想的数据交换语言,作用是易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)." 今天在这里笔者想简单谈谈jquery里面的JSON.parse()和JSON.stringify()函数,顺便还会提一下原生JS里面的eval()函数 (1)JSO

转义字符(\)对JavaScript中JSON.parse的影响概述

JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象,本文为大家介绍下转义字符对JSON.parse方法的影响   按照ECMA262第五版中的解释,JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字 符串,后者将符合json标准的字符串转化为js对象.json标准参考<a href="http://json.org/&qu

转义字符(\)对JavaScript中JSON.parse的影响概述_基础知识

按照ECMA262第五版中的解释,JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象.json标准参考<a href="http://json.org/" target="_blank">json.org</a>.(其实将符合json标准的字符串转化为js对象可以用eval,但是eval性能相对差且存在安全隐患(会执行json字符串中

做项目时使用JSON.parse遇到的问题

今天做项目的时候,使用JSON.parse转换字符串成json数据的时候遇到了一个问题, 举例如下: 1 var jsonStr = '{"sex":"男","info":"我\\是好人"}'; 2 JSON.parse(jsonStr); 运行结果如下:   jsonStr里有两个反斜杠存在,JSON.parse在执行的时候则报错了,我们用eval来执行自然是不会报错的,运行结果如下: 我们再来看一下下面这三行代码: 1 v

eval、json.parse()的介绍和使用注意点

原文:eval.json.parse()的介绍和使用注意点 eval和json.parse的使用 eval:来源于官网 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法:  eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那

谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)_javascript技巧

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

浅谈JSON.parse()和JSON.stringify()_javascript技巧

1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf","age":"23"}' 经 JSON.parse(str) 得到: Object: age:"23" name:"cpf" _proto_:Object ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常 2.stringify用于从一个对象解析出字符串,例如 var