- 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);
+ }
+