zoukankan      html  css  js  c++  java
  • JSON

    JSON

    JSON全称JavaScript Object Notation(JavaScript 对象表示法),JSON语法可以有三种类型的值,分别是简单值(字符,数字,布尔值和null),对象和数组。

    JSON解析与序列化

    JSON对象的两个方法:

    stringify():把JavaScript对象序列化为JSON字符串。

    parse():把JSON字符串解析为原生JavaScript值

    var book = {
                   "title": "Professional JavaScript",
                    "authors": [
                        "Nicholas C. Zakas"
                    ],
                    edition: 3,
                    year: 2011
               };
    
    var jsonText = JSON.stringify(book);
    alert(jsonText);//结果:{"title":"Professional JavaScript","authors":["Nicholas C. Zakas"],"edition":3,"year":2011}
            
    var bookCopy = JSON.parse(jsonText);
    alert(bookCopy.title);//结果:Professional JavaScript
    

    JSON.stringify()除了JavaScript对象外,还可以接受第二个参数,可以是数组或者函数

    
    var book = {
                    title: "Professional JavaScript",
                    authors: [
                        "Nicholas C. Zakas"
                    ],
                    edition: 3,
                    year: 2011
               };
    
    var jsonText = JSON.stringify(book, ["title", "edition"]);//参数:数组,起过滤作用
    alert(jsonText);
    
    
    var book = {
                    title: "Professional JavaScript",
                    authors: [
                        "Nicholas C. Zakas"
                    ],
                    edition: 3,
                    year: 2011
               };
    
    var jsonText = JSON.stringify(book, function(key, value){//参数:函数,将在每个键值对上调用
        switch(key){
            case "authors":
                return value.join(",")
                     
            case "year":
                return 5000;
                        
            case "edition":
                return undefined;
                        
            default:
                return value;
        }
    });
    alert(jsonText);
    
    

    JSON.parse()方法接收一个参数,该参数是一个函数,将在每个键值对上调用

    var book = {
                   "title": "Professional JavaScript",
                    "authors": [
                        "Nicholas C. Zakas"
                    ],
                    edition: 3,
                    year: 2011,
                    releaseDate: new Date(2011, 11, 1)
               };
    
    var jsonText = JSON.stringify(book);
    alert(jsonText);
            
    var bookCopy = JSON.parse(jsonText, function(key, value){
        if (key == "releaseDate"){
            return undefined;
        } else {
            return value;
        }
    });
            
    alert("releaseDate" in bookCopy);
    
  • 相关阅读:
    C# .NET 在一个线程中访问另一个线程的控件 方法汇总 (转载)
    SQL Server 2008数据库复制实现数据库同步备份(2) (转载)
    对《30个提高Web程序执行效率的好经验》的理解
    Web开发常用速查手册大全(100+)(转载)
    web.config 文件详解(转载)
    常用Web Service 收藏
    Microsoft training Kits
    SSH+JQuery整合
    DWR框架在SHH中的配置说明
    卡尔曼滤波器 Kalman Filter
  • 原文地址:https://www.cnblogs.com/YeChing/p/6343888.html
Copyright © 2011-2022 走看看