源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JSON相关知识汇总

  • 时间:2020-02-13 00:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JSON相关知识汇总
JSON:JavaScript 对象表示法(JavaScript Object Notation) JSON 语法规则   数据在名称/值对中   数据由逗号分隔   花括号保存对象   方括号保存数组 JSON有6种类型的值:   对象、数组、字符串、数字、布尔值、null JSON对象是一个容纳“名/值”对的无序集合   名字:任意字符串   值:任意类型的JSON值,包括数组和对象(对象中可以嵌入对象) 注:JSON字符串必须使用双引号(单引号会报错) [b]一、对象[/b] javascript中创建字面量:
var object = {
  name:"lily",
  age:22
};
或者:
var object = {
  "name":"lily",
  "age":22
}; 
JSON:
{
  "name":"lily",
  "age":22
} 
[b]二、数组[/b] JSON数组采用的是javascript中数组字面量形式 扩展:   把数组和对象结合起来可以构成更复杂的数据结合 例如:
[
  {
    "name":"lily",
    "age":22,
    "job":"docter"
  },
  {
    "name":"nicy",
    "age":21,
    "job":"teacher"
  },
  {
    "name":"lily",
    "age":22,
    "job":"AE"
  }
]  
[b]三、解析与序列化[/b] JSON拥有和javascript类似的语法,可以把JSON数据结构解析为有用的javascript对象 1.JSON对象 收发JSON数据 读取、写入、发送和接收JSON数据对象时,需要转换成字符串,并能从字符串转换为JSON数据对象。(用于javascript相同的方式读写他们) JSON对象有两个方法:   ① stringify(): 把javascript对象序列化为JSON字符串   ② parse(): 把JSON字符串解析为原生的javascript值 实例:
var book = {
  title:"professional JavaScript",
  authors:[
    "lily"
  ],
  edition:3,
  year:2011
};
var jsonText = JSON.stringify(book);
alert(jsonText);   //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011}
alert(typeof jsonText);   //string
var bookCopy = JSON.parse(jsonText);
alert(typeof bookCopy);   //object 
这个例子中使用JSON.stringify()把一个javascript对象book序列化为一个JSON字符串,然后保存到jsonText中;将JSON字符串jsonText直接传给JSON.parse()就得到了相应的javascript值 注:序列化javascript对象时,最终值都是有效JSON数据类型的实例属性,任何无效的值都会被跳过 [b]2.序列化选项[/b] JSON.stringify()在序列化javascript对象时,可以接收两个参数   参数一:过滤器,可以是一个数组或函数   参数二:一个选项,表示是否在JSON字符串中保留缩进 1)过滤结果 如果过滤器的参数是数组,那么JSON.stringify()的结果中只包含数组中列出的属性 例如:
var book = {
  "title":"professional JavaScript",
  "authors":[
    "lily"
  ],
  edition:3,
  year:2011
}; 
var jsonText = JSON.stringify(book,["title","edition"]);
alert(jsonText); //{"title":"professional JavaScript","edition":3}
alert(typeof jsonText); // string 
2)字符串缩进: JSON.stringify()方法的第三个参数用于控制结果中的缩进和空白符 3)toJSON()方法 给对象定义toJSON()方法,可以返回其自身的JSON数据格式 [b]四、JSON访问值[/b] 第一种:简单数组 ['item1','item2','item3'] 取值:通过数字索引访问嵌入的值(第一项的索引为0) ['item1','item2','item3'] var items = ['item1','item2','item3']; alert(items[0]);     // item1   第二种:使用{}表示对象和符合数组 { "key":"value" } 取值:通过键名访问嵌入的值 var oExample = { "name":"lily" }; alert(oExample.name);     // lily alert(oExample["name"]);     // lily   使用这两种方式,可以用子记录(带命名的或数值的索引键)描述很多数据结构: 例如:
var oNovelist = {
  "firstName":"lily",
  "lastName":"russ",
  "novels":
      [
        {
          "title":"and choas died",
          "year":"1970"
        },
        {
          "title":"the famale man",
          "year":"1976"
        }
      ]
}; 
var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year;
alert(msg);   // lily russ's and choas died was published in1970  
以上所述就是本文的全部内容了,希望大家能够喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部