我想反序列化字符串
{
"foo":5,
"bar":"03.10.01"
}
我想将它反序列化为只包含字符串的Map。 使用示例代码给我整数代替“5”和java.Util.Date而不是日期字符串。
Map<Object, Object> map = new HashMap<Object, Object>();
map = (Map<Object, Object>) gson.fromJson(new InputStreamReader(inputStream), map.getClass());
我不知道JSON会是什么,这就是我将其解析为Map的原因
@reactivemobile 这是真的,但如果JSON是这样的话:
正如我所说,我不知道JSON会是什么,它看起来像:
{
"array": [
{
"eggs": 5,
"bb": "03.10.01"
}
],
"foo": 5,
"bar": "03.10.01"
}
使用Map创建它将创建包含ArrayList,foo,bar的Map。在ArrayList中将有LinkedTreeMap,它将包含“eggs”和“bb”。
所以你的答案是正确的,但不是在JSON可以具有动态结构的情况下。
答案 0 :(得分:0)
使用
Map<String, String> map
强制值为字符串