我们需要类似的东西,在我们的案例中,我们使用了
@JsonSerialize您所评论的自定义项,这很简单:
public class MyCustomSerializer extends JsonSerializer<Map<?, ?>> { @Override public void serialize(final Map<?, ?> value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeObject(value.values()); }}使用它的代码:
import java.io.IOException;import java.util.Collections;import java.util.Map;import org.prehaus.jackson.JsonGenerationException;import org.prehaus.jackson.JsonGenerator;import org.prehaus.jackson.JsonProcessingException;import org.prehaus.jackson.map.JsonMappingException;import org.prehaus.jackson.map.JsonSerializer;import org.prehaus.jackson.map.ObjectMapper;import org.prehaus.jackson.map.SerializerProvider;import org.prehaus.jackson.map.annotate.JsonSerialize;public class JacksonTest { public static class ModelClass { private final Map<String, String> map; public ModelClass(final Map<String, String> map) { super(); this.map = map; } @JsonSerialize(using = MyCustomSerializer.class) public Map<String, String> getMap() { return map; } } public static void main(final String[] args) throws JsonGenerationException, JsonMappingException, IOException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writevalue(System.out, new ModelClass(Collections.singletonMap("test", "test"))); }}


