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);
    
  • 相关阅读:
    还在使用golang 的map 做Json编码么?
    Golang 性能测试(2) 性能分析
    golang 性能测试 (1) 基准性能测试
    消息队列 NSQ 源码学习笔记 (五)
    消息队列 NSQ 源码学习笔记 (四)
    消息队列 NSQ 源码学习笔记 (三)
    消息队列 NSQ 源码学习笔记 (二)
    消息队列 NSQ 源码学习笔记 (一)
    你不知道的空格
    Supervisor 使用和进阶4 (Event 的使用)
  • 原文地址:https://www.cnblogs.com/YeChing/p/6343888.html
Copyright © 2011-2022 走看看