private static void logErrorJson(String format, byte[] data, int offset, int len, int pos) {
        try {
            logger.warn("{}, json: {}, error pos: {}",
                    format,
                    new String(data, offset, len, UTF8Util.UTF8_NAME),
                    new String(data, pos, (offset + len) - pos, UTF8Util.UTF8_NAME));
        } catch (UnsupportedEncodingException e) {
            // Should not happen.
        }
    }
A fast json deserializer which parse json in utf-8 encoding bytes directly.
Using this class to avoid the pay-off of transforming into utf-16 (i.e. java String), and generating lots of intermediate objects.
It supports multiple json objects, seperated by comma, and each object can only contains one layer. e.g.
<pre>
{"name": "Flow", "score": 4.3}, {"title": "You know \"nothing\"! Jon Snow."}
</pre>
indexr-common/src/main/java/io/indexr/util/UTF8JsonDeserializer.java