json如何使用flexjson在java中将jsonarray反序列化为列表<Map>。反序列化程序?
在客户端,我构建了一个JSOnARRAY,如下所示:
{"filterEntries":[{"dataName":"mainContact","filterValue":"BILLGATES"}]}.
在服务器端(java),我可以使用以下方法取消这些值:
jfilter = JSONValue.parse(jsonFilterStr); //jsonFilterStr={"filterEntries":[{"dataName":"mainContact","filterValue":"BILLGATES"}]}.
JSONArray jFilterEntries = (JSONArray) jfilter.get("filterEntries");
for (int i=0;i<jFilterEntries.size();i++){
JSONObject jFilterEntry = (JSONObject) jFilterEntries.get(i);
String dataName = (String) jFilterEntry.get("dataName");
String filterValue = (String) jFilterEntry.get("filterValue");
}
但现有的应用程序正在使用flex。json。反序列化程序和我无法使用flex实现同样的功能。json。反序列化程序。我应该如何进行? 我想这样做:
JSONDeserializer jsonDeserializer = new JSONDeserializer();
jsonDeserializer.use(null, List.class);
List<Map<String,String>> lMap= (List<Map<String,String>>)jsonDeserializer.deserialize(params);
# 1 楼答案
记住包裹阵列的顶部对象。你也必须处理好这件事。你必须告诉它,希望列表中有一张地图。为此,必须使用路径表达式“values”指定列表中包含的类型
更新:添加新关键字,并使右侧的泛型类型与左侧匹配