我可以将此字符串类型变量转换为映射类型吗?例如。。。
scala> aa.getClass
res35: Class[_ <: Object] = class java.lang.String
scala> aa
res36: Object = Map(MetricName [name=response-rate, group=consumer-node-metrics, description=The average number of responses received per second., tags={client-id=consumer-2, node-id=node--1}] -> org.apache.kafka.common.metrics.KafkaMetric@c19540f
我想将此 aa 变量更改为 scala 的真实地图类型。作为参考,Map 中的类型是 Kafka 库的类。
如果我正确理解您的问题,aa
是在某些Map
上调用toString
的结果,您想知道是否有可能从aa
中取回地图。
通常答案是否定的,因为多个不同的映射可以具有相同的字符串表示形式。这是一个更容易看到的例子,用List
而不是Map
:List("a","b").toString
与List("a,b").toString
相同。
对于您的特定用例,您也许可以编写一个解析器,但如果你能找到一个现有的解析器,我会感到惊讶。