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 assertDecodeLargeJsonObjectWithLiteral() {
        List<JsonEntry> jsonEntries = new LinkedList<>();
        jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key1", JsonValueTypes.LITERAL_NULL));
        jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key2", JsonValueTypes.LITERAL_TRUE));
        jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key3", JsonValueTypes.LITERAL_FALSE));
        ByteBuf payload = mockJsonObjectByteBuf(jsonEntries, false);
        String actual = (String) MySQLJsonValueDecoder.decode(payload);
        assertThat(actual, is("{\"key1\":null,\"key2\":true,\"key3\":false}"));
    }