大神,请教一下MAP.PUT怎么用?

zixing 2020-05-28 01:50:47
单个的这种,我知道是
map.put("dybsms","JSJ943040");

下边这种就不会了.
{
"list": [
{
"name": "张三",
"zjh": "123456"
},
{ "name": "李四",
"zjh": "234567"
}
],
"test": "123123123123"
---------
请问大神,上边这个类型叫啥?怎么put进去?
...全文
104 点赞 收藏 11
写回复
11 条回复
zixing 2020年05月28日
我的天呢.好心人真多.多谢多谢了.太感谢了 .
回复 点赞
咦哟~~~ 2020年05月28日
public static void main(String[] args) { String user1 = "{\"user\":\"张三\",\"zjh\":\"123456\"}";//模拟数据 String user2 = "{\"user\":\"李四\",\"zjh\":\"123456\"}"; List<String> list = new ArrayList();//创建list集合 list.add(user1);//将user1和user2添加进集合 list.add(user2); Map<String,Object> map = new HashMap<>();//创建map map.put("list",list);//将集合put进map list为key list集合为值 String s = JSON.toJSONString(map);//将map数据json格式化 JSON为com.alibaba.fastjson System.out.println(s);//打印 } 打印结果:{"list":["{\"user\":\"张三\",\"zjh\":\"123456\"}","{\"user\":\"李四\",\"zjh\":\"123456\"}"]} 虽然我也不知道你想干啥
回复 点赞
usecf 2020年05月28日
参考下这个帖子 map增加list的用法 https://blog.csdn.net/weixin_38437243/article/details/78475487
回复 点赞
usecf 2020年05月28日
List<String> userNameList = new ArrayList<String>(); List<String> userzjhList = new ArrayList<String>(); userList.add("张三"); //这块需要你解析json对象,循环往userList里面增加 userzjhList.add("123456");//这块需要你解析json对象,循环往userzjhList里面增加 Map<Integer , List<Integer>> map = new HashMap<Integer , List<Integer>>(); map.put("name",userNameList ); map.put("zjh",userzjhList ); map.put("test","123123123123"); 看看行不行
回复 点赞
逗泥丸的平方 2020年05月28日
引用 3 楼 zixing 的回复:
[quote=引用 1 楼 情非彼岸花 的回复:]
存的是一个对象的集合
例如user实体类属性有name,和zjh
List<User> userList = new ArrayList<>();
userList.add(user1)
userList.add(user2)
map.put("list",userList)//键为list值为集合



请问大神,这个userList.add(user1) 中.user1的值给他搞成什么?[/quote]

这是一个比较通用的写法.. 有key的时候就直接塞进去,没key的时候就new一个对应的集合,一般是表示1对多的关系用的.
回复 点赞
zixing 2020年05月28日
引用 4 楼 usecf 的回复:
user1可以是变量 也可以是对象的 看你具体需求
就是上边这个例子中,我应该搞成什么?
回复 点赞
zixing 2020年05月28日
引用 2 楼 逗泥丸的平方 的回复:
       
        if (map.containsKey(key)){
            map.get(key).add(obj);
        }else {
            List<Object> list = new ArrayList<>();
            list.add(obj);
            map.put(key,list);
        }
可能是这种? 不够严谨但是一般够用了
大神.你这个我直接看不明白. 能不能看一下二楼的这个,我改改能用? 就是不明白这个userList.add(user1)中 user1,应该给他赋值成什么?
回复 点赞
usecf 2020年05月28日
user1可以是变量 也可以是对象的 看你具体需求
回复 点赞
zixing 2020年05月28日
引用 1 楼 情非彼岸花 的回复:
存的是一个对象的集合 例如user实体类属性有name,和zjh List<User> userList = new ArrayList<>(); userList.add(user1) userList.add(user2) map.put("list",userList)//键为list值为集合
请问大神,这个userList.add(user1) 中.user1的值给他搞成什么?
回复 点赞
逗泥丸的平方 2020年05月28日
       
if (map.containsKey(key)){
map.get(key).add(obj);
}else {
List<Object> list = new ArrayList<>();
list.add(obj);
map.put(key,list);
}


可能是这种? 不够严谨但是一般够用了
回复 点赞
咦哟~~~ 2020年05月28日
存的是一个对象的集合 例如user实体类属性有name,和zjh List<User> userList = new ArrayList<>(); userList.add(user1) userList.add(user2) map.put("list",userList)//键为list值为集合
回复 点赞
发动态
发帖子
Eclipse
创建于2007-09-28

3.1w+

社区成员

4.9w+

社区内容

Java Eclipse
社区公告
暂无公告