首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Arraylist数据抽取

Java Arraylist数据抽取
EN

Stack Overflow用户
提问于 2011-04-08 16:38:21
回答 3查看 3.3K关注 0票数 1

如何提取数据,如下所示:

我想从这个数组列表中提取:

代码语言:javascript
复制
[{itemname=Original, number=12}, {itemname=BBQ, number=23}, {itemname=CatchUp, number=23}]

此数组:

代码语言:javascript
复制
{"Original":12,"BBQ":23,"CatchUp":23}

提前感谢!以下是用于生成hashmap的代码:

代码语言:javascript
复制
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);
 }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-08 16:44:29

看起来你想把它转换成Json,使用google gson http://code.google.com/p/google-gson/很容易。

“提供简单的toJson()和fromJson()方法将Java对象转换为JSON,反之亦然”

我的意思是:

代码语言:javascript
复制
Gson gson = new Gson();
gson.toJson(map); //where map is your map object
票数 5
EN

Stack Overflow用户

发布于 2011-04-08 17:21:16

谢谢你的提示--我已经改成了下面的代码:

代码语言:javascript
复制
  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,还遗漏了什么吗?请原谅我的新意,并感谢你的帮助!

票数 0
EN

Stack Overflow用户

发布于 2011-04-09 01:01:34

要按照预期提取数据,可以使用Jackson JSON处理器。它允许您轻松地读取和编写JSON。你可以按照他们的教程here

首先,你必须下载他们提供的相关jar文件(2个文件)。

因此,下面的代码片段应该可以解决您的问题,并将结果写入jsonResult.json文件。

代码语言:javascript
复制
    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);

下面是文件的输出,

代码语言:javascript
复制
{"result":[{"itemname":"Original","number":"12"},{"itemname":"BBQ","number":"23"},{"itemname":"CatchUp","number":"23"}]}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5592575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档