2016-07-08 25 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