【转载】JSON介绍
0.说明
JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式。
易于人阅读和编写。
同时也易于机器解析和生成。
它是基于JavaScript Programming Language,
Standard ECMA-262 3rd Edition - December 1999的一个子集。
JSON采用完全独立于语言的文本格式,
但是也使用了类似于C语言家族的习惯
(包括C, C++, C#, Java, JavaScript, Perl, Python等)。
这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
1."名称/值"对的集合(A collection of name/value pairs)
不同的语言中,
它被理解为对象(object),纪录(record),结构(struct),
字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2.值的有序列表(An ordered list of values)
在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。
事实上大部分现代计算机语言都以某种形式支持它们。
这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
1.对象Object
对象是一个无序的"‘名称/值’对"集合。
一个对象以 {左括号 开始, }右括号 结束。
每个"名称"后跟一个 :冒号 ;
"‘名称/值’ 对"之间使用 ,逗号 分隔。
2.数组Array
数组是值(value)的有序集合。
一个数组以 [左中括号 开始, ]右中括号 结束。值之间使用 ,逗号 分隔。
3.值Value
值(value)可以是双引号括起来的字符串(string)、
数值(number)、true、false、 null、
对象(object)或者数组(array)。
这些结构可以嵌套。
4.字符串String
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。
一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
5.数值Number
数值(number)也与C或者Java的数值非常相似。
除去未曾使用的八进制与十六进制格式。除去一些编码细节。
6.空白Whitespace
空白可以加入到任何符号之间。 以下描述了完整的语言。
7.名词解释
jsonelementvalueobjectarraystringnumber"true""false""null"object'{' ws '}''{' members '}'membersmembermember ',' membersmemberws string ws ':' elementarray'[' ws ']''[' elements ']'elementselementelement ',' elementselementws value wsstring'"' characters '"'characters""character characterscharacter'0020' . '10FFFF' - '"' - '\''\' escapeescape'"''\''/''b''f''n''r''t''u' hex hex hex hexhexdigit'A' . 'F''a' . 'f'numberinteger fraction exponentintegerdigitonenine digits'-' digit'-' onenine digitsdigitsdigitdigit digitsdigit'0'onenineonenine'1' . '9'fraction""'.' digitsexponent""'E' sign digits'e' sign digitssign""'+''-'ws""'0020' ws'000A' ws'000D' ws'0009' ws
8.参考文章
介绍 JSONIntroducing JSONECMA-404 The JSON Data Interchange Standard.
http://www.taodudu.cc/news/show-1250972.html
相关文章:
- Elasticsearch单机安装Version7.10.1
- Drools创建Maven工程
- Java二、八、十、十六进制介绍
- Drools集成SpringBoot
- Drools集成SpringBootStarter
- Jsonschema2pojo从JSON生成Java类(Maven)
- YangTools从YANG生成Java类(Maven)
- GitBash添加tree命令
- SpringBoot集成Maven工程
- SpringBoot开发Restful接口
- Notepad++便签模式
- SpringBoot集成Cache缓存(Ehcache缓存框架,注解方式)
- PowerDesigner生成数据库刷库脚本
- PowerDesigner生成数据库设计文档
- Eclipse配置国内镜像源
- PingInfoView批量PING工具
- Git合并两个不同的仓库
- Guava事件处理组件Eventbus使用入门
- Junit4集成到Maven工程
- Redis集成到Maven工程(Jedis客户端)
- SpringBoot集成Cache缓存(Redis缓存,RedisTemplate方式)
- Junit5集成到Maven工程
- Junit5集成到SpringBoot工程
- 语言代码表
- Protobuf生成Java代码(Maven)
- Protobuf生成Java代码(命令行)
- Maven查看插件信息
- SpringBoot脚手架工程快速搭建
- SpringBoot集成MyBatis-Plus分页插件
- SNMP客户端工具MIB Browser
【转载】JSON介绍相关推荐
- moxy json介绍_使用MOXy 2.5.1快速且有点脏的JSON模式生成
moxy json介绍 因此,这些天我正在为即将推出的Oracle云服务开发新的REST API,因此我需要做的事情之一就是能够为模型中的bean自动生成JSON模式. 我正在使用MOXy从POJO生 ...
- moxy json介绍_MOXy的@XmlVariableNode – JSON模式示例
moxy json介绍 我们正在向EclipseLink MOXy添加从域模型生成JSON模式的 功能 . 为此,我们创建了一个新的变量节点映射. 在本文中,我将通过将Java模型映射到JSON模式来 ...
- moxy json介绍_MOXy是GlassFish 4中新的默认JSON绑定提供程序
moxy json介绍 GlassFish 4现在可以提供完整的Java EE 7(JSR-342)平台. EclipseLink为该发行版做出了一些重大贡献. 首先是提供JPA 2.1(JSR-33 ...
- moxy json介绍_MOXy的对象图– XML和JSON的输入/输出局部模型
moxy json介绍 假设您有一个要公开为RESTful服务的域模型. 问题是您只想输入/输出部分数据. 以前,您将创建一个代表子集的单独模型,然后使用代码在模型之间移动数据. 在EclipseLi ...
- moxy json介绍_MOXy的对象图和动态JAXB
moxy json介绍 JAXB(JSR-222)使您可以轻松地将域类的实例转换为XML. EclipseLink MOXy实现提供了一个称为Dynamic JAXB的扩展,在其中,您可以使用诸如Dy ...
- moxy json介绍_MOXy作为您的JAX-RS JSON提供程序–客户端
moxy json介绍 最近,我发布了如何利用EclipseLink JAXB(MOXy)的JSON绑定来创建RESTful服务. 在本文中,我将演示在客户端利用MOXy的JSON绑定有多么容易. M ...
- moxy json介绍_MOXy作为您的JAX-RS JSON提供程序–服务器端
moxy json介绍 在之前的系列文章中,我介绍了如何利用EclipseLink JAXB(MOXy)创建RESTful数据访问服务. 在本文中,我将介绍在服务器端利用MOXy的新JSON绑定添加对 ...
- moxy json介绍_通过MOXy实现使您的JAXB更清洁
moxy json介绍 编组和解组XML时使用JAXB的主要优点是编程模型. 只需注释几个POJO并使用JAXB API,您就可以很容易地序列化为XML和从XML反序列化. 您无需担心有关XML如何编 ...
- 转载--json调用示例
转载--json调用示例 json的常用数据格式 { name:value } Object , 键值对形式的对象 [ Object,Object ] 对象数组 示例: var o=[{" ...
- 004 json介绍
json介绍 一种基于文本,独立于语言轻量级数据交换格式 json特点 json 纯文本 json具有自我描述,便于阅读和编写 json 具有清晰的层级结构 有效地提升网络传输速度 标题json语法规 ...
最新文章
- Android Stadio 导入Android 源码不停index
- arm linux qt 输入法,基于ARM9和Qt的中文手写输入法的设计与实现
- Bootstrap4+MySQL前后端综合实训-Day05-AM【MySQL数据库(SQLyog软件基本操作、架构设计器)、eclipse(JDBC开发-添加驱动、构建路径、增删改查基本测试)】
- 天线的起源与发展历史
- 你和PPT高手之间,就只差一个iSlide,新版本支持WPS、Office
- spring zipkin mysql_springboot + zipkin + mysql
- linux 防arp 带宽,linux下防arp
- war包部署到tomcat
- 汇编语言王爽---第四版
- excel计算机考试,Excel计算机考试操作题全解.doc
- 博客9-12css2
- uniapp+微信小程序云函数获取微信openId
- VUCA时代下,创业团队如何提升整体效率?
- pwa 让你的网页可以像本地程序一样安装到电脑上,Youtube网站使用的也是当前方法 (chrome版本)
- iOS/Mac OS X 汉字转拼音
- 便签文档储存位置在哪?便签保存在哪个文件夹,怎么在文件管理找到
- qq邮箱 添加 gmail_将您的Gmail添加到Windows Live Mail
- 【算法竞赛学习笔记】佩尔方程-数学提升计划
- pythonturtle写字_python用turtle写字
- 渲染器引入KaTeX 模块——实现实时渲染
热门文章
- Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
- [转] ASP.NET中使用javascript
- Kanas.net Framework 入门介绍
- Nodejs 内置模块的基本使用
- HTML5 文档头部
- HTML5 基础知识
- 2015,工作几年的心得
- JS-分支结构(单向-双向-多向-嵌套)
- TensorFlow2.0(八)--tf.function函数转换
- C++ 虚函数重载多态