如何提取数据,如下所示:
我想从这个数组列表中提取:
[{itemname=Original, number=12}, {itemname=BBQ, number=23}, {itemname=CatchUp, number=23}]此数组:
{"Original":12,"BBQ":23,"CatchUp":23}提前感谢!以下是用于生成hashmap的代码:
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
for (int i = 0; i<7;i++) {
HashMap<String,String> map = new HashMap<String,String>();
map.put("itemname",chips[i]);
map.put("number",chipentry[i]);
list.add(map);
}发布于 2011-04-08 16:44:29
看起来你想把它转换成Json,使用google gson http://code.google.com/p/google-gson/很容易。
“提供简单的toJson()和fromJson()方法将Java对象转换为JSON,反之亦然”
我的意思是:
Gson gson = new Gson();
gson.toJson(map); //where map is your map object发布于 2011-04-08 17:21:16
谢谢你的提示--我已经改成了下面的代码:
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
Gson gson = new Gson();
for (int i = 0; i<7;i++) {
HashMap<String,String> map = new HashMap<String,String>();
map.put("itemname",chips[i]);
map.put("number",chipentry[i]);
list.add(map);
System.out.println(gson.toJson(map));
}结果是http://imgur.com/E7uds.png
我导入了com.google.gson.Gson,还遗漏了什么吗?请原谅我的新意,并感谢你的帮助!
发布于 2011-04-09 01:01:34
要按照预期提取数据,可以使用Jackson JSON处理器。它允许您轻松地读取和编写JSON。你可以按照他们的教程here。
首先,你必须下载他们提供的相关jar文件(2个文件)。
因此,下面的代码片段应该可以解决您的问题,并将结果写入jsonResult.json文件。
String[] chips = {"Original", "BBQ", "CatchUp"};
String[] chipentry = {"12", "23", "23"};
List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < 3; i++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("itemname", chips[i]);
map.put("number", chipentry[i]);
list.add(map);
}
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> untyped = new HashMap<String, Object>();
untyped.put("result", list);
mapper.writeValue(new File("jsonResult.json"), untyped);下面是文件的输出,
{"result":[{"itemname":"Original","number":"12"},{"itemname":"BBQ","number":"23"},{"itemname":"CatchUp","number":"23"}]}https://stackoverflow.com/questions/5592575
复制相似问题