Java EE 7 Json.createBuilderFactory(config) - 你可以用非空配置做什么?

Bra*_*vik 7 java json java-ee-7

我试图使用Java EE 7 JsonBuilder并且无法理解createBuilderFactory的config参数.是的,可以将其留空或为空,但还有什么可以做的?

JsonBuilderFactory factory = Json.createBuilderFactory(config);
JsonObject value = factory.createObjectBuilder()
    .add("firstName", "John")
    .add("lastName", "Smith")
    .add("age", 25).build();
Run Code Online (Sandbox Code Playgroud)

配置怎么办?冒号或逗号周围的间距?每个阵列的换行符?我不知道如何查看源代码,它似乎没有记录在json的Java EE页面上(http://docs.oracle.com/javaee/7/api/index.html?javax /json/Json.html)

小智 5

我认为这实际上取决于Java EE 7的实现.对于Glass Fish,您可以为Json.createXXXFactory()方法传递null,但Json.createWriterFactory/createGeneratorFactory()方法除外,您可以传递配置选项是否进行漂亮的打印.

        Map<String, Object> config = new HashMap<String, Object>();
        //if you need pretty printing
        config.put("javax.json.stream.JsonGenerator.prettyPrinting", Boolean.valueOf(true));
        JsonWriterFactory factory = Json.createWriterFactory(config);
Run Code Online (Sandbox Code Playgroud)

  • 或者,您可以简单地使用:`config.put(JsonGenerator.PRETTY_PRINTING, true);` (2认同)