哪些配置参数可用于创建 JsonWriterFactory?
Which configuration parameters are available for creating a JsonWriterFactory?
查看我在 Java ee tutorial
上看到的这段代码
/* Write formatted JSON Output */
Map<String,String> config = new HashMap<>();
config.put(JsonGenerator.PRETTY_PRINTING, "");
JsonWriterFactory factory = Json.createWriterFactory(config);
StringWriter stWriterF = new StringWriter();
try (JsonWriter jsonWriterF = factory.createWriter(stWriterF)) {
jsonWriterF.writeObject(model);
}
documentJsonFormatted = stWriterF.toString();
我们正在创建一个 JsonWriter
来写入字符串缓冲区 StringWriter
。通常我们可以直接从 Json
class 创建一个 JsonWriter
,但这并不能正确地格式化 JSON 对象。我们为 createWriterFactory
方法指定了一个 config
变量,据我所知,这是我们唯一可以创建的配置。我们还可以将哪些其他配置参数放入 config
映射?
JSON-P 规范定义的唯一常量字段值是您已经列出的值 (JsonGenerator.PRETTY_PRINTING
),根据:
https://javadoc.io/doc/javax.json/javax.json-api/1.1.2
您想要什么样的精美印刷品?您使用的是什么 JSON-P 实现?
我尝试了以下代码:
JsonObject model = Json.createObjectBuilder()
.add("foo", "bar")
.add("boo", "baz")
.build();
/* Write formatted JSON Output */
Map<String, String> config = new HashMap<>();
config.put(JsonGenerator.PRETTY_PRINTING, "");
JsonWriterFactory factory = Json.createWriterFactory(config);
StringWriter stWriterF = new StringWriter();
try (JsonWriter jsonWriterF = factory.createWriter(stWriterF)) {
jsonWriterF.writeObject(model);
}
System.out.println(stWriterF);
这导致打印精美的 JSON 字符串:
{
"foo": "bar",
"boo": "baz"
}
(这里我用org.glassfish:javax.json:1.1.+
作为我的JSON-P impl)
查看我在 Java ee tutorial
上看到的这段代码 /* Write formatted JSON Output */
Map<String,String> config = new HashMap<>();
config.put(JsonGenerator.PRETTY_PRINTING, "");
JsonWriterFactory factory = Json.createWriterFactory(config);
StringWriter stWriterF = new StringWriter();
try (JsonWriter jsonWriterF = factory.createWriter(stWriterF)) {
jsonWriterF.writeObject(model);
}
documentJsonFormatted = stWriterF.toString();
我们正在创建一个 JsonWriter
来写入字符串缓冲区 StringWriter
。通常我们可以直接从 Json
class 创建一个 JsonWriter
,但这并不能正确地格式化 JSON 对象。我们为 createWriterFactory
方法指定了一个 config
变量,据我所知,这是我们唯一可以创建的配置。我们还可以将哪些其他配置参数放入 config
映射?
JSON-P 规范定义的唯一常量字段值是您已经列出的值 (JsonGenerator.PRETTY_PRINTING
),根据:
https://javadoc.io/doc/javax.json/javax.json-api/1.1.2
您想要什么样的精美印刷品?您使用的是什么 JSON-P 实现?
我尝试了以下代码:
JsonObject model = Json.createObjectBuilder()
.add("foo", "bar")
.add("boo", "baz")
.build();
/* Write formatted JSON Output */
Map<String, String> config = new HashMap<>();
config.put(JsonGenerator.PRETTY_PRINTING, "");
JsonWriterFactory factory = Json.createWriterFactory(config);
StringWriter stWriterF = new StringWriter();
try (JsonWriter jsonWriterF = factory.createWriter(stWriterF)) {
jsonWriterF.writeObject(model);
}
System.out.println(stWriterF);
这导致打印精美的 JSON 字符串:
{
"foo": "bar",
"boo": "baz"
}
(这里我用org.glassfish:javax.json:1.1.+
作为我的JSON-P impl)