-

- Convert 组件介绍

+

Convert 组件介绍

-

敬请期待……
-

+

       Convert 是一个比较独立的组件,仅依赖于util包。提供Java对象的序列化与反解析功能。支持JSON(JavaScript Object Notation)、BSON(Binary Stream Object Notation)两种格式化。 两种格式使用方式完全一样,其性能都大幅度超过其他JSON框架。

+ +

Convert 快速上手

+

      本介绍仅以JSON为例(BSON与JSON使用方式雷同)。其操作类主要是JsonConvert,配置类主要是JsonFactory、ConvertColumn。

+

      JsonConvert 序列化方法:

+ +
    public String convertTo(Object value);
+
+    public String convertTo(final Type type, Object value);
+
+    public void convertTo(final JsonWriter out, Object value);
+
+    public void convertTo(final JsonWriter out, final Type type, Object value);
+
+    public ByteBuffer[] convertTo(final Supplier<ByteBuffer> supplier, final Type type, Object value);
+
+    public ByteBuffer[] convertTo(final Charset charset, final Supplier<ByteBuffer> supplier, final Type type, Object value);
+
+    public ByteBuffer[] convertTo(final Supplier<ByteBuffer> supplier, Object value);
+
+    public ByteBuffer[] convertTo(final Charset charset, final Supplier<ByteBuffer> supplier, Object value);
+
+ +

      JsonConvert 反解析方法:

+
    public <T> T convertFrom(final Type type, final String text);
+
+    public <T> T convertFrom(final Type type, final char[] text);
+
+    public <T> T convertFrom(final Type type, final char[] text, int start, int len);
+
+    public <T> T convertFrom(final Type type, final ByteBuffer... buffers);
+                
+ +
    public static void main(String[] args) throws Exception {
+        JsonFactory factory = JsonFactory.root();
+        factory.setTiny(true); 
+        final JsonConvert convert = JsonFactory.root().getConvert();
+        String json = "{\"access_token\":\"vVX2bIjN5P9TMOphDkStM96eNWapAehTuWAlVDO74aFaYxLwj2b-9-T9p_W2mfr9\",\"expires_in\":7200, \"aa\":\"\"}"; 
+        Map<String, String> map = convert.convertFrom(JsonConvert.TYPE_MAP_STRING_STRING, json);
+        System.out.println(map);
+        System.out.println(convert.convertTo(map));
+        ByteBuffer[] buffers = convert.convertTo(() -> ByteBuffer.allocate(1024), map);
+        byte[] bs = new byte[buffers[0].remaining()];
+        buffers[0].get(bs);
+        System.out.println(new String(bs)); 
+        main2(args);
+    }
+