首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hashmap的数组创建hashmap

使用hashmap的数组创建hashmap
EN

Stack Overflow用户
提问于 2014-05-19 10:00:13
回答 3查看 346关注 0票数 0

我有以下结构

代码语言:javascript
复制
{
    "abc":[
        {
            "bc":"52",
            "gd":"jjksa"
        }
    ]
}

现在,我需要从客户端创建相同的结构,并发送类似于上述格式的数据。我假设这个结构是这样的。

代码语言:javascript
复制
HashMap<String, ArrayList<HashMap<String, String>>> hashmap = new HashMap<String, ArrayList<new HashMap<String, String>()>>();

HashMap<String, String> obj1 = new HashMap<String, String>();

ArrayList<String> arraylist = new ArrayList<String>();

obj1.put("bc", "52");
obj1.put("gd", "jjksa");

arraylist.add(obj1);

hashmap.put("metrics", arraylist)

任何人谁能帮助我创建正确的地图,如上面的例子所示。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-19 10:46:30

下面的代码适用于我。然而,你们提出的建议肯定是有价值的。我会作出相应的修改,以使结构更好。

代码语言:javascript
复制
HashMap<String, Object> hashmap = new HashMap<String, Object>();

HashMap<String, String> obj1 = new HashMap<String, String>();

ArrayList arraylist = new ArrayList();

obj1.put("bc", "52");
obj1.put("gd", "jjksa");

arraylist.add(obj1);

hashmap.put("metrics", arraylist);

Gson json = new Gson();

System.out.print(json.toJson(hashmap));
票数 0
EN

Stack Overflow用户

发布于 2014-05-19 10:08:27

使用JSON处理器(如杰克逊 )

代码语言:javascript
复制
import org.codehaus.jackson.map.ObjectMapper;

// ...

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(hashmap);
票数 0
EN

Stack Overflow用户

发布于 2014-05-19 10:49:39

简单地说,HashMap的toString方法打印的值与json非常相似,但没有双引号(“). :)

Sp00m的答案是完美的。除此之外,你还可以使用谷歌的葛森

代码语言:javascript
复制
import java.util.ArrayList;
import java.util.HashMap;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;


public class GsonParser {

    public static void main(String[] args) throws Exception {
        HashMap<String, ArrayList<HashMap<String, String>>> hashmap = new HashMap<String, ArrayList<HashMap<String, String>>>();

        HashMap<String, String> obj1 = new HashMap<String, String>();

        ArrayList<HashMap<String, String>> arraylist = new ArrayList<HashMap<String, String>>();

        obj1.put("bc", "52");
        obj1.put("gd", "jjksa");

        arraylist.add(obj1);

        //Hashmap toString
        hashmap.put("metrics", arraylist);
        System.out.println(hashmap); //Prints : {metrics=[{bc=52, gd=jjksa}]}

        //Jackson Example
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(hashmap);
        System.out.println(json); //Prints : {"metrics":[{"bc":"52","gd":"jjksa"}]}

        //Gson Example
        Gson gson = new Gson();
        String json2 = gson.toJson(hashmap);
        System.out.println(json2); //Prints : {"metrics":[{"bc":"52","gd":"jjksa"}]}
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23734845

复制
相关文章

相似问题

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