Gson 到 HashMap
有没有办法将包含json的字符串转换为HashMap,其中每个键都是json键,值是json键的值?json 没有嵌套值。我正在使用Gson lib。
例如,给定的 JSON:
{
"id":3,
"location":"NewYork"
}
生成的哈希映射:
<"id", "3">
<"location", "NewYork">
谢谢
有没有办法将包含json的字符串转换为HashMap,其中每个键都是json键,值是json键的值?json 没有嵌套值。我正在使用Gson lib。
例如,给定的 JSON:
{
"id":3,
"location":"NewYork"
}
生成的哈希映射:
<"id", "3">
<"location", "NewYork">
谢谢
使用TypeToken
,根据GSON常见问题解答:
Gson gson = new Gson();
Type stringStringMap = new TypeToken<Map<String, String>>(){}.getType();
Map<String,String> map = gson.fromJson(json, stringStringMap);
无铸造。无需创建不必要的对象。
如果我将TypeToken解决方案与Map<Enum,Object>我会得到“duplicate key:null”。
对我来说,最好的解决方案是:
String json = "{\"id\":3,\"location\":\"NewYork\"}";
Gson gson = new Gson();
Map<String, Object> map = new HashMap<String, Object>();
map = (Map<String, Object>)gson.fromJson(json, map.getClass());
结果:
{id=3.0, location=NewYork}