zoukankan      html  css  js  c++  java
  • JSON

    JSON指JavaScript对象表示法(JavaScript Object Notation),是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,有效地提升网络传输效率。

    语法规则

    在JS语言中,一切皆对象。任何支持的类型都可以通过JSON来表示,如数字、字符串、逻辑值、对象、数组、null。
    对象和数组是比较特殊且常用的两种类型:

    • 对象表示为键值对
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组

    对象:对象在JS中是使用花括号包裹起来的内容。在面向对象语言中,key为对象的属性,value为对应的值。键名可以使用整数和字符串来表示,值的类型可以是任意类型。
    数组:数组在JS中是方括号包裹起来的内容。在JS中,数组是一种比较特殊的数据类型,可以像对象那样使用键值对,也可以使用索引,值的类型也可以是任意类型。

    JSON与JS对象的关系

    JSON是JS对象的字符串表示法,使用文本表示JS对象信息,本质是字符串。

    JSON和JS对象互转

    从对象转换为JSON字符串,使用JSON.stringify()方法
    从JSON转换为对象,使用JSON.parse()方法

    和XML的对比

    可读性

    JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式。

    可扩展性

    XML有很好的扩展性,JSON也有。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。

    编码难度

    XML有丰富的编码工具,JSON也有提供的工具。不过,xml文档结构上的字符更多。

    解码难度

    XML的解析方式有两种:
    一是通过文档模型解析,也就是通过父标签索引出一组标记。但是这样是要在预先知道文档结构的情况下使用,无法进行通用的封装。
    另外一种方法是遍历节点(document以及childNodes)。可以通过递归来实现,不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。

    类似XML的特性

    • JSON是纯文本
    • JSON具有“自我描述性”
    • JSON具有层级结构
    • JSON可通过JavaScript进行解析
    • JSON数据可使用AJAX进行传输

    相比XML的不同之处

    • 没有结束标签
    • 更简短
    • 读写速度更快
    • 能够使用内建的JavaScript eval()方法进行解析
    • 使用数组
    • 不使用保留字

    对于AJAX应用程序来说,JSON比XML更快更易使用

    JSON最常见的用法之一,是从Web服务器上读取JSON数据(作为文件或作为HttpRequest),将JSON数据转换为JavaScript对象,在网页中使用。

    参考源

    百度百科:https://baike.baidu.com/item/JSON/2462549?fr=aladdin
    W3school:http://www.w3school.com.cn/json

  • 相关阅读:
    (转)NandFlash详述
    (转)Redhat Linux 硬盘挂载方法!!!
    为Linux虚拟机挂载SD卡!
    DECLARE_GLOBAL_DATA_PTR 作用
    NAND FLASH ECC校验原理与实现
    Ehcache学习笔记(三) 与Spring集成
    ExtJs ComponentQuery 组件选择器
    好记性不如烂博客之 Quartz HowTo: Update an existing job
    使用WeakReference 与 ReferenceQueue 简单实现弱引用缓存
    Ehcache学习笔记(四) Web Caching 页面级别缓存
  • 原文地址:https://www.cnblogs.com/seulwong/p/9203871.html
Copyright © 2011-2022 走看看