JSON简介 (Javascript Object Nonation)

news/2024/7/24 8:08:57 标签: json, javascript, c/c++
什么是JSON?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于 C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
JSON的具体形式
1、对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,以“}”结束。每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。
2、数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。
3、值(value)可以是双引号括起来的字符串(String)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。
4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜体转义。一个字符(character)即一个单独的字符串(characeter string).

JSON与XML的比较
可读性
  JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
可扩展性
  XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
编码难度
  XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
解码难度
  XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
实例比较
XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。
现假设有一个用户数据包括:用户名、密码、所在部门、性别、年龄。
用XML表示如下:
<?xml version="1.0" encoding="utf-8"?>
<user>
<name>张三 </name>
123456</password>
<department>技术部</department>
<sex>男</sex>
<old>30</old>
</user>
用JSON表示如下:
{
"name":"张三",
"password":"123456",
"department":"技术部",
"sex":"男",
"old":"28"
}
与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,同样具有可读性。XML比较适合于标记文档,而JSON却更适合于时行数据交换处理。

JSON官方网站
有关JSON的更多介绍,访问它的官方网站:www.json.org

转载于:https://www.cnblogs.com/fmxyw/archive/2008/08/27/1278090.html


http://www.niftyadmin.cn/n/1816640.html

相关文章

jQurey浏览器页卡切换 用于实时接口的长轮询

方法1&#xff0c; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><script type"text/javascript" src"http://mat1.gtimg.com/www/js/jquery/jquery-1.11.…

【vue3+ts后台管理】登录页面完成

创建登录页面及其路由 创建 LoginView.vue&#xff0c;先随便写点什么 修改 index.ts 增加登录页的路由 const routes: Array<RouteRecordRaw> [{...},{...},{path: /login,name: login,component: () > import(../views/LoginView.vue)} ]然后在浏览器输入http:/…

跨站点共享Session解决方案、单点登录解决方案(ASP.NET 2.0版本)

我们在进行Web开发时经常会用到Session&#xff0c;用它去标识不同的会话&#xff0c;那么涉及到跨站点的时候如何实现Session共享呢&#xff1f;通常的解决方案有&#xff1a;使用数据库、使用Cookies做中间桥等等。下面介绍一种基于ASP.NET 2.0的&#xff0c;通过序列化和反序…

VMware + Ubuntu-desktop-20.04 LTS安装与配置(一步步教你~)

文章目录前言安装VMware-workstation-pro 16下载安装下载镜像Ubuntu-desktop-20.04 LTS管理安装系统选创建新的虚拟机中文、输入法、背景、终端美化中文背景输入法终端root和必备品VScodevscode中文主题C环境方法一&#xff1a;方法二&#xff1a;字体大小前言 之所以写这篇&a…

安全检测风险

文章目录Root 设备运行风险Janus 签名机制漏洞Root 设备运行风险 su 是 Linux 下切换用户的命令&#xff0c;在使用时不带参数&#xff0c;就是切换到超级用户。通常我们获取 root 权限&#xff0c;就是使用 su 命令来实现的&#xff0c;所以可以检查这个命令是否存在 1&…

基于IE的Web A4打印

<html> <head> <title>weldon</title> <meta http-equiv"Content-Type" content"text/html; charsetgb2312"> <!--mediaprint 这个属性可以在打印时有效--> <style mediaprint> .Noprint{display:none;} …

每次一点点,打造自己的vim

vimrc路径&#xff0c;~/.vimrc vimrc注释&#xff1a;双引号 1.显示行号 临时显示是在文本中set nu&#xff0c;取消是set nonu 永久显示是在vimrc中加上set number 2.新行自动缩进 使得新行缩进和上一行一样set autoindent 就是自动缩进的意思&#xff0c;当你在输入状…