美文网首页
JavaScript基础知识总结——json

JavaScript基础知识总结——json

作者: More_5897 | 来源:发表于2017-08-09 23:11 被阅读0次

    JSON

    • JSON(JavaScript Object Notation)是一种基于文本的数据交换格式。
    • 几乎所有的编程语言都可以使用json来进行数据交互和处理
    • 而另一方面随着REST、像MongoDB这样的NoSQL技术或标准的广泛使用,JSON也正成为一种被推荐的数据交互格式。
    • json语法可以表示以下三种类型的值:简单值(key/value),对象(Object),数值(array)

    基本语法

    • 简单值
      又叫键值对
    • 对象
      一个JSON对象是包含了一组未排序键值对的集合。下面例子中的address就是一个JSON对象:
    {
        “address” : {
            “line1” : “555 Main Street”,
            “city” : “Denver”,
            “stateOrProvince” : “CO”,
            “zipOrPostalCode” : “80202”,
            “country” : “USA”
        }
    }
    
    • 数组
      JSON中[]来包含数组元素,参考下面的例子:
    {
        “people” : [
            { “firstName”: “John”, “lastName”: “Smith”, “age”: 35 },
            { “firstName”: “Jane”, “lastName”: “Smith”, “age”: 32 }
        ]
    }
    

    解析和序列化

    • JSON对象
      JSON对象是一个JavaScript用来对json数据进行解释和序列号的对象,支持这个对象浏览器有:IE8+,Firefox3.5+,Safari4+,Chrome。此对象有两个方法:stringify(),parse()。
    • 序列化
      JavaScript中要对json数据进行序列号,使用的是JSON.stringify()。这个方法可以接受三个参数
      1.要序列化的JavaScript对象(必须);
      2.过滤器,这个参数可以是一个数组,也可以是个函数(可选);
      3.最后一个参数是一个选项,标书JSON 字符串中要不要保留缩进(可选),int,表示缩进的空格数,。
    var book = {
      "title":"xxxx",
      "authors":["aaa"],
      edition: 3,
      year:2001
    };
    var jsonText1 = JSON.stringify(book);   //序列化整个对象
    var jsonText2 = JSON.stringify(book,["title","edition"]);   //序列对象中与数组中对应的对象。
    var jsonText3 = JSON.stringify(book,function(key,value){  //根据switch语句输出对象的序列化对象
      switch(key){
        case:"authors";
         return value.jion(",")
        case:"year"
         return 5000
      }
    }
    var jsonText4 = JSON.stringify(book,null,1);
    //jsonText1
    {"title":"xxxx","authors":["aaa"],"edition": 3,"year":2001}
    //jsonText4
    {
      "title":"xxxx",
      "authors":["aaa"],
      "edition": 3,
      "year":2001
    }
    
    • 解析
      JavaScript中要对json数据进行序列号,使用的是JSON.stringify()。这个方法可以接受两个参数
      1.要解析的JavaScript字符串(必须);
      2.还原函数,这个参数可以是一个数组,也可以是个函数(可选);
    var book = {
      "title":"xxxx",
      "authors":["aaa"],
      edition: 3,
      year:2001,
      releaseDate: new Date(2011,11,1)
    };
    var jsonText1 = JSON.stringify(book);   //序列化整个对象
    
    var book1 = JSON.parse(jsonText1,function(key,value){
      if(key=="releaseDate"){
        return new Date(value);  //将原本的字符串还原成Date对象
      }else{
        return value
      }
    }
    

    相关文章

      网友评论

          本文标题:JavaScript基础知识总结——json

          本文链接:https://www.haomeiwen.com/subject/ugxcrxtx.html