tim nick
tim nick

Reputation: 11

change values during Jackson serialization, like ValueFileter for fastjson

When I serialize a string value if it's too long, I want to change it to another value. If use FastJSON, you can use ValueFilter do it.

        String jsonStr = "{\"key1\":\"DMA65DEG3p4If+JLrfzUUeeMTnX3ufk57ji+thwrbdg=\",\"key2\":\"data balabala\"}";
        ValueFilter filter = (Object object, String name, Object value) -> {
            if (value instanceof String) {
                String s = (String) value;
                if (s.length() > 32) {
                    s = "skip " + s.length() + " data";
                }
                return s;
            } else {
                return value;
            }
        };
        JSONObject object = JSON.parseObject(jsonStr);
        System.out.println(JSON.toJSONString(object, filter));

So how does Jackson solve this problem?

Upvotes: 1

Views: 226

Answers (0)

Related Questions