0
我是新來的java,我不能直截了當地思考這個問題。解析json到java中的哈希
我有一個包含JSON對象爲一個文本文件:
{"from":"1","to":["a","b"]}
等
我想一個HashMap中加載這些文件,以便「從」部分是關鍵,「到「部分是價值。 我相信我在問一個非常愚蠢的問題,但有關如何有效地做到這一點的任何建議? 感謝
我是新來的java,我不能直截了當地思考這個問題。解析json到java中的哈希
我有一個包含JSON對象爲一個文本文件:
{"from":"1","to":["a","b"]}
等
我想一個HashMap中加載這些文件,以便「從」部分是關鍵,「到「部分是價值。 我相信我在問一個非常愚蠢的問題,但有關如何有效地做到這一點的任何建議? 感謝
您可以使用Jackson:
// (1) deserialize JSON
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
HashMap map = mapper.readValue(
"{\"from\":\"1\",\"to\":[\"a\",\"b\"]}", HashMap.class);
// (2) reorder stuff (use a new Map object if needed, or delete obsolete keys)
map.put(map.get("from"), map.get("to"));
輸出將是:
{to=[a, b], 1=[a, b], from=1}
或
{1=[a, b]}
,如果你將創建一個新的地圖對象(2)。至於效率,更重的解析部分由傑克遜處理,其中
...旨在爲開發人員提供快速,正確,輕量級和符合人體工程學的最佳組合。
恩,這是否真的將'from'和'to'映射爲鍵和值? – fge
這是可行的,但我會質疑這裏的數據模型。爲什麼不只是'{「1」:[「a」,「b」]}?這是合法的JSON,並且更容易被現有框架處理 - 直接轉換爲「Map」。 – fge
我想你可能實際上必須編寫代碼來完成這個任務。遊民。 –
不要擔心「高效」。擔心「工作」。因爲你有*什麼都沒有!?!*那麼這是一個更好的目標..我的第一種方法將反序列化POJO(嘿,我喜歡合同!),然後根據需要操縱。 – 2013-01-02 23:03:16