需要以下 JSON:
{[{"value":"1"}, {"value":"2"}, {"value":"3"}, {"value":"4"value}]}
Run Code Online (Sandbox Code Playgroud)
使用:
JsonGenerator generator = factory.createGenerator(os, JsonEncoding.UTF8);) {
generator.writeStartObject();
generator.writeFieldName("data");
generator.writeStartArray();
while (rs.next()) {
generator.writeStartObject();
generator.writeStringField("value", rs.getString("value"));
generator.writeEndObject();
}
generator.writeEndArray();
generator.writeEndObject();
generator.close();
Run Code Online (Sandbox Code Playgroud)
输出:
{"data":[{"value":"1"}, {"value":"2"}, {"value":"3"}, {"value":"4"value}]}
Run Code Online (Sandbox Code Playgroud)
我不需要数据标签,但如果
generator.writeFieldName("data");
Run Code Online (Sandbox Code Playgroud)
删除后,会抛出以下错误:
com.fasterxml.jackson.core.JsonGenerationException: Can not start an array, expecting field name (context: Object)
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
谢谢
看来您可能只想省略根对象声明并将其保留为数组,因为它不是有效的 json 格式。
JsonGenerator generator = factory.createGenerator(os, JsonEncoding.UTF8);
generator.writeStartArray();
while (rs.next()) {
generator.writeStartObject();
generator.writeStringField("value", rs.getString("value"));
generator.writeEndObject();
}
generator.writeEndArray();
generator.close();
Run Code Online (Sandbox Code Playgroud)
这将返回有效json格式为:
[{"value":"1"}, {"value":"2"}, {"value":"3"}, {"value":"4"}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |