代码之家  ›  专栏  ›  技术社区  ›  Jin Kwon

如何向JsonObjectBuilder添加简单的字符串值?

  •  1
  • Jin Kwon  · 技术社区  · 7 年前

    这是我的后续问题 Java JsonObjectBuilder adding extra 'metadata' when added as child to JsonObjectBuilder .

    add String

    "href":{
        "chars":"http://test.com/test/1",
        "string":"http://test.com/test/1",
        "valueType":"STRING"
    }
    

    我所期望的是

    "href": "http://..."
    

    当我 add 一个号码,我明白了

    "a":{
        "integral":true,
        "valueType":"NUMBER"
    }
    

    我想是这样的

    "a": 1
    

    这是我的密码。

    @Override
    public JsonObject adaptToJson(final Link original) throws Exception {
        return ofNullable(original).map(v -> {
            final JsonObjectBuilder builder = createObjectBuilder();
            //builder.add("a", 1);
            //builder.add("b", 1L);
            ofNullable(v.getUri()).map(URI::toString).ifPresent(href -> builder.add("href", JsonbBuilder.create().toJson(href, String.class)));
            ofNullable(v.getRel()).ifPresent(rel -> builder.add("rel", rel));
            ofNullable(v.getTitle()).ifPresent(title -> builder.add("title", title));
            return builder.build();
        }).orElse(null);
    }
    

    我用的是 johnzon-jsonb yasson

    0 回复  |  直到 7 年前
    推荐文章