zoukankan      html  css  js  c++  java
  • JSON.parse 函数应用 (复制备忘)

    JSON.parse 函数 (JavaScript)
     

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

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

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

    reviver

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

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

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

    • 如果 reviver 返回 null 或 undefined,则删除成员。

    以下示例使用 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 
  • 相关阅读:
    利用Js/Jquery实现div的隐藏与显示(注意释放与不释放空间)
    关于js 中 alert 事件弹框提示,title显示页面url网址问题
    前端获取Ajax请求获取数据,无法赋值给全局变量
    JS根据条件正则截取相应字符,以及常用截取函数
    Git切换分支命令
    CodeIgniter (CI)框架中的数据库查询汇总
    解决Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)错误//解决 413 Request Entity Too Large
    Linux: cp 复制文件(文件夹)
    LeeCode(No4
    RSS简介
  • 原文地址:https://www.cnblogs.com/access520/p/5395867.html
Copyright © 2011-2022 走看看