【发布时间】:2016-11-16 09:27:24
【问题描述】:
我想将下面的 Json 数据映射到 List<Map<String, String>> 类型的 java 对象。
Json 示例:
{
{
a:b,
c:d
},
{
e:f,
g:h,
i:j
},
{
h:k
}
}
这里a:b代表键值对。所以a:b 和c:d 将被映射到列表的第一个映射,依此类推。
一种方法是构建 JSON 树并访问每个节点并将该对存储到地图中。
有没有更好的方法来做到这一点(更清洁的方法)?
【问题讨论】:
-
你看过Jackson等JSON库吗?
-
嗯,json 对象不是
List<Map<String, String>>,它更像是Map<String, Object>,其中Object可以是List<Map<String, Object>>或List<Object>(以及那些嵌套的@987654332 @s 也可以是相同的两件事)。至于解析它,我个人会使用 json 库,但它基本上归结为当时的状态机(在输入符号上) -
尝试使用真实的数据样本。使用 gson,您可以轻松创建与 JSON 对象匹配的数据类,并轻松(反)序列化它。 JSON 对象的结构是否会有很大差异?
-
如果你的 json 对象没有变化,序列化和反序列化就可以了。我对么?但就我而言,它会有所不同。