我正在尝试将 JSON 对象的字符串表示解析为地图列表。json 对象的结构如下:
[
{
"first_name": "fname1",
"last_name": "lname1"
},
{
"first_name": "fname2",
"last_name": "lname2"
}
.
.
.
]
唯一已知的是仅在运行时的字符串值(例如“first_name”、“last_name”) ,因此我无法创建任何预定义的类(就像通常在 fromJson() 方法中使用的那样)。
我试图创建以下函数(在我在网上看到一些示例之后)但它没有工作:
public List<Map<String, Object>> fromJson(String jsonAsString) {
final JsonElement jsonElement = this.jsonParser.parse(jsonAsString);
List<Map<String, Object>> myList= new ArrayList<Map<String, Object>>();
Type listType = TypeToken.get(myList.getClass()).getType();
myList= (new Gson()).fromJson(jsonElement, listType);
return myList;
}
此函数的结果是一个列表(在上述情况下长度 == 2),但不是 2 个地图,而是我得到 2 个对象。
有什么帮助吗?谢谢!