我是 Java 新手,无法直接思考这个问题。
我有一个包含 json 对象的文本文件:
{"from":"1","to":["a","b"]}
等等
我想将这些文件加载到哈希图中,以便“from”部分是键,“to”部分是值。我确定我在问一个非常愚蠢的问题,但是关于如何有效地做到这一点有什么建议吗?谢谢
您可以使用杰克逊:
// (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) 中创建一个新的地图对象。至于效率,解析比较重的部分交给Jackson来处理,
... 旨在为开发人员提供快速、正确、轻便和符合人体工程学的最佳组合。