This commit is contained in:
20
convert.html
20
convert.html
@@ -26,7 +26,7 @@
|
||||
<section class="main-content">
|
||||
<h3><a id="welcome-to-github-pages" class="anchor" href="#" aria-hidden="true"><span class="octicon octicon-link"></span></a>Convert 组件介绍</h3>
|
||||
|
||||
<p> Convert 是一个比较独立的组件,仅依赖于util包。提供Java对象的序列化与反解析功能。支持JSON(JavaScript Object Notation)、BSON(Binary Stream Object Notation)两种格式化。 两种格式使用方式完全一样,其性能都大幅度超过其他JSON框架。<br/></p>
|
||||
<p> Convert 是一个比较独立的组件,仅依赖于util包。提供Java对象的序列化与反解析功能。支持JSON(JavaScript Object Notation)、BSON(Binary Stream Object Notation)两种格式化。 两种格式使用方式完全一样,其性能都大幅度超过其他JSON框架。同时JSON内置于HTTP协议,BSON也是SNCP协议数据序列化的基础。<br/></p>
|
||||
|
||||
<h3><a id="welcome-to-github-pages" class="anchor" href="#" aria-hidden="true"><span class="octicon octicon-link"></span></a>Convert 快速上手</h3>
|
||||
<p> 本介绍仅以JSON为例(BSON与JSON使用方式雷同)。其操作类主要是JsonConvert,配置类主要是JsonFactory、ConvertColumn。</br></p>
|
||||
@@ -155,6 +155,24 @@
|
||||
<span class="n">BsonFactory</span><span class="o">.</span><span class="na">root</span><span class="o">().</span><span class="na">register</span><span class="o">(</span><span class="n">java</span><span class="o">.</span><span class="na">io</span><span class="o">.</span><span class="na">File</span><span class="o">.</span><span class="kd">class</span><span class="o">,</span> <span class="n">FileSimpleCoder</span><span class="o">.</span><span class="na">instance</span><span class="o">);</span>
|
||||
</pre></div>
|
||||
|
||||
<h3><a id="welcome-to-github-pages" class="anchor" href="#" aria-hidden="true"><span class="octicon octicon-link"></span></a>BSON的协议格式</h3>
|
||||
<p> BSON类似Java自带的Serializable, 其格式如下: <br/>
|
||||
1). 基本数据类型: 直接转换成byte[] <br/>
|
||||
2). SmallString(无特殊字符且长度小于256的字符串): length(1 byte) + byte[](utf8); 通常用于类名、字段名、枚举。 <br/>
|
||||
3). String: length(4 bytes) + byte[](utf8); <br/>
|
||||
4). 数组: length(4 bytes) + byte[]... <br/>
|
||||
5). Object: <br/>
|
||||
1. realclass (SmallString) (如果指定格式化的class与实体对象的class不一致才会有该值, 该值可以使用@ConvertEntity给其取个别名) <br/>
|
||||
2. 空字符串(SmallString) <br/>
|
||||
3. SIGN_OBJECTB 标记位,值固定为0xBB (short)<br/>
|
||||
4. 循环字段值:<br/>
|
||||
4.1 SIGN_HASNEXT 标记位,值固定为1 (byte) <br/>
|
||||
4.2 字段类型; 1-9为基本类型&字符串; 101-109为基本类型&字符串的数组; 127为Object <br/>
|
||||
4.3 字段名 (SmallString) <br/>
|
||||
4.4 字段的值Object <br/>
|
||||
5. SIGN_NONEXT 标记位,值固定为0 (byte)<br/>
|
||||
6. SIGN_OBJECTE 标记位,值固定为0xEE (short)<br/>
|
||||
</p>
|
||||
<footer class="site-footer">
|
||||
<span class="site-footer-owner"><a href="https://github.com/wentch/redkale">RedKale</a> © <a href="https://github.com/wentch">wentch</a> 欢迎加入RedKale技术交流QQ群: 527523235</span>
|
||||
</footer>
|
||||
|
||||
Reference in New Issue
Block a user