public static Serializable decode(final ByteBuf byteBuf) {
        int valueType = byteBuf.readUnsignedByte() & 0xff;
        StringBuilder result = new StringBuilder();
        decodeValue(valueType, 1, byteBuf, result);
        return result.toString();
    }
@Test
    void assertDecodeLargeJsonObjectWithSubJson() {
        List<JsonEntry> subJsons = Collections.singletonList(new JsonEntry(JsonValueTypes.INT32, "key1", 111));
        ByteBuf payload = mockJsonObjectByteBuf(Collections.singletonList(new JsonEntry(JsonValueTypes.SMALL_JSON_OBJECT, "subJson", subJsons)), false);
        String actual = (String) MySQLJsonValueDecoder.decode(payload);
        assertThat(actual, is("{\"subJson\":{\"key1\":111}}"));
    }