gson 正在删除JSON对象的自定义序列化

w8rqjzmb  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(148)

我现在有一个自定义的序列化器。我的自定义序列化器的目的是从这个格式化我的JSON对象:{"id":["21","22", 23"]}到这个{"id":"21,22,23"}
我的自定义序列化程序的当前实现:

public static class ListSerialiser implements JsonSerializer<List<Member>> {

        @Override
        public JsonElement serialize(List<Member> src, Type type, JsonSerializationContext context) {
            JsonObject object = new JsonObject();
            List<String> memberId = new ArrayList<>(src.size());
            for (Member member : src) {
                memberId.add("" + Member.getId());
            }
            String memberIdAsString = TextUtils.join(",", memberId);
            object.addProperty("[%s]", memberIdAsString);

            return object;
        }
    }

虽然我的实现得到了我想要的结果,但出于好奇,我想知道是否有一种方法可以在不使用Text Utils或字符串格式化程序的情况下进行序列化,以实现这一结果:{"id":"21,22,23"}

t9aqgxwy

t9aqgxwy1#

连接字符串的方法有很多种,你可以看到大多数的here
我最喜欢的是:

String memberIdAsString = memberId.stream().collect(Collectors.joining(","));

相关问题