JavaScript核心技术之JSON详解

118 阅读2分钟

JSON是什么? JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON源自于JavaScript,是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。

在现在的开发中,能够进行数据交换格式的,包括两个JSON XML。

JSON是存储和交换文本信息的语法,类似 XML,JSON比 XML更小、更快,更易解析。

那么,简而言之,对JSON的说明总结如下:

JSON是独立于任何编程语言的数据格式 是一种用于存储和传输数据的轻量级格式 语法是自描述的,便于人类阅读和理解 JSON语法 基本语法: 数组(Array)用方括号 "[]" 表示 对象(0bject)用大括号 "{}" 表示 名称 / 值 对(name/value)组合成数组和对象 名称( name )置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组 并列的数据之间用逗号 "," 分隔 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值 需要注意的是:

JSON不支持注释。向 JSON添加注释无效

JSON文件的文件类型是 .json

JSON文本的 MIME 类型是 application/json

获取JSON数据 json是以对象的形式存在的,直接获取JSON数据可通过如下方法:

  1. json对象.键名

  2. json对象["键名"]

  3. 数组对象[索引]

  4. 遍历

代码示例:

//定义基本格式 var person = { name: "张三", age: 23, gender: true }; var persons = [ { name: "张三", age: 23, gender: true }, { name: "李四", age: 24, gender: true }, { name: "王五", age: 25, gender: false }, ];

  //获取person对象中所有的键和值
  //for in 循环
  /* for(var key in person){
      //这样的方式获取不行。因为相当于  person."name"
      //alert(key + ":" + person.key);
      alert(key+":"+person[key]);
      }*/

  //获取persons中的所有值
  for (var i = 0; i < persons.length; i++) {
    var p = persons[i];
    for (var key in p) {
      console.log(key + ":" + p[key]);
    }