美文网首页
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