【发布时间】:2020-04-19 21:36:34
【问题描述】:
我尝试使用 Gson 序列化我的 Map<String, Map<MetricName, ? extends Metric>> 对象,但我得到 JSON 字符串响应。而且我在内部 Map<MetricName, ? extends Metric> 中有指标值和名称这是我的代码如下所示:
@GetMapping(path = "/showRawKafkaMetrics", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<String> getMetrics() throws IOException, ClassNotFoundException {
List<String> list = new ArrayList<>();
Gson gson = new Gson();
for (MessageListenerContainer container : kafkaListenerEndpointRegistry.getListenerContainers()){
list.add(gson.toJson(container.metrics()));
}
return list;
}
【问题讨论】:
-
不清楚你在问什么。
MetricName和Metric是什么?返回的List<String>与指标映射结构有何关系? -
Kafka 已经内置了带有 Jackson 的 JSON 序列化器。为什么要使用 Gson?
标签: java spring serialization apache-kafka gson