json 注释_JSON译文

JSON​www.json.org
8857968bd0193f08d0da5871507acee6.png

JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。对于开发者来说这种数据格式是很容易读和写。同时对于机器来说容易解析和生成。它是基于1999年12月

Douglas Crockford's JavaScript​javascript.crockford.com

是基于上述的上面的一个子集。JSON是一种完全独立于语言的文本格式,但是使用了C语言家族的程序员熟悉的约定,包括C、C++、C#、Java、JavaScript、Perl、Python和许多其他。这些特性使得JSON称为了一种理想的数据交换语言。

JSON是基于下面两种结构所创造的:

(1)一个基于name和value的集合。在不同的语言中,这个被认为是对象、记录、结构、字典、哈希表、关联数组等

(2)有序的值列表。在大多数语言中,这是作为数组、向量、列表或序列实现的。

它们是普通的数据结构。几乎所有现代编程语言都以某种形式支持它们。与编程语言可互换的数据格式也基于这些结构是有意义的。

在JSON中,它们是按照以下的形式出现的。

33f746c9472f4de1234ddbbb4f2820a4.png

对象是一组无序的name/value对的形式出现,其中这个对象是以左花括号开头,以右花括号结尾,每个name后面都用冒号紧接着后面是value,多个name:value之间使用逗号分隔。

51ef6ead4895daa557b1383dac379eb9.png

一个数组是一个有序的值得集合。这个数组是以左中括号开始,以右中括号结束,其中里面的值用逗号分隔。

a6a14cb235f154568cf66335989f76c4.png

值可以是双引号中的字符串,也可以是数字,或者是真的、假的、空的,或者是对象或数组。这些结构可以嵌套。

de2e393331edfeaaef4b9fcd7aca6b0e.png

字符串是由零个或多个Unicode字符组成的序列,用双引号括起来,使用反斜杠转义。字符表示为单个字符串。字符串非常类似于C或Java字符串。

960bc7f540706ff7c85f688f1eed479f.png

数值类型也非常和C或者JAVA中的数值类型相似,但是这里不允许使用数值的八进制或者十六进制。

这个JAR包是基于JDK1.6-1.8编译的。里面主要包含下面一些类:

JSONObject.java: JSONObject可以通过一个字符串来解析文本或者JSONTokener创建一个类似于map的对象。该对象提供了操作其内容的方法和用于生成符合JSON的对象序列化。JSONArray.java: JSONArray可以通过一个字符串来解析文本或者JSONTokener创建一个类似于vector的对象。该对象提供了操作其内容的方法和用于生成符合JSON的对象序列化。

JSONTokener.java: JSONTokener可以将一段文本分解成独立令牌的序列。它可以通过String、Reader和InputStream来构造。

JSONException.java: 这个包抛出来的标准异常。

JSONPointer.java: 实现了JSON Pointer (RFC 6901). 支持字符串表示和URI片段表示形式的JSON指针

JSONPropertyIgnore.java: 注解类可以被用在Java Bean的getter方法上。当在bean方法上使用的时候,会被正常的序列化为一个JSONObject,它将getter重写为键名称逻辑,并强制从结果JSONObject中排除该属性。

JSONPropertyName.java: 注解类可以被用在Java Bean的getter方法上。当在bean方法上使用的时候,会被正常的序列化为一个JSONObject,它将getter重写为键名称逻辑。bean处理器将查看类层次结构。这意味着您可以在基类或接口上使用注释,并且即使getter在子类中被重写,注释的值也将被使用。

JSONString.java: The JSONString接口有一个 toJSONString 方法,允许对象提供自己的序列化。

JSONStringer.java: The JSONStringer构造JSON字符串的便捷工具。

JSONWriter.java: The JSONWriter 提供了通过writer来构造JSON文本的便捷工具。CDL.java: CDL 提供了JSON和逗号分隔列表之间的转换。

Cookie.java: Cookie 提供了JSON和cookie之间的转换。

CookieList.java: CookieList 提供了JSON和cookie列表之间的转换。

HTTP.java: HTTP 提供支持JSON和HTTP头部信息的转换。

HTTPTokener.java: HTTPTokener 继承JSONTokener用来解析HTTP的头部信息。

XML.java: XML提供了XML和JSON之间的转换。

JSONML.java: JSONML 提供了知识JSONML和XML之间的转化功能。

XMLTokener.java: XMLTokener 继承JSONTokener,用来解析XML文本。

单元测试被维护在一个分离的项目中,贡献的开发者可以从github上拉取代码。

stleary/JSON-Java-unit-test​github.com
ec7b8c7f0a06788169961af2ec69a823.png

这个包中的数值类型是按照

ECMA-404: The JSON Data Interchange Format​www.ecma-international.org

The JavaScript Object Notation (JSON) Data Interchange Format​tools.ietf.org

这个包是完全支持 Integer, Long, 和 Double的 Java 类型. 部分支持 BigIntegerBigDecimal 数值在JSONObjectJSONArray对象中,以get()、opt()和put()API方法的形式提供。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值