2016-07-08 23 views
0

我有,我已通过打印的Java HashMap中得到的字符串:java的反转印刷的HashMap

String a = "{data={field1={field3=value3}, field2={field4=value4, field5=value5}}}" 

有没有在Java中的任何功能,可以分析这个字符串转换成一个HashMap。对于这个特定的字符串,这个函数应该返回一个Map<String, Map<String, Map<String, String>>>

+3

你为什么这样做?如果你想序列化数据,那么'toString'不是。 –

+0

我想测试一个函数,我需要从另一个函数中获取带有Map类型的变量的内容,并用它来测试我自己的函数。当我打印这个变量时,我得到一个非常长的字符串,并且我想要一个解析器将这个字符串返回给一个hashmap,以便我可以在我的测试函数中使用它。 –

+1

为什么要将它转换为'String'呢? –

回答

0

谷歌的番石榴库有类似的解析器编写。链接回答:Convert string representing key-value pairs to Map

+2

OP需要_nested_地图,而不仅仅是一个简单的“地图”。这种方法无效。我想你可以扩展它来尝试嵌套为值的映射的递归解决方案 - 但这听起来像是一个没有人应该打开的蠕虫。 –

+0

是的,我想你是对的。文档确实显示了一个'Map '输出。只有使用这个库的选择是在条目的'value'部分写一个递归解析器。 – pikaynu