实习获取json中key的值
Posted 王六六的IT日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实习获取json中key的值相关的知识,希望对你有一定的参考价值。
疯狂踩坑、填坑
背景:
根据josndata的中的key值获取boolean类型,然后根据角色情况赋值权限
jsonData=""tamias:xxx:ADMIN":true,"tamias:xxx:DEV":false"
jsonData的定义类型:
查了一堆如何获取json的key值的文章,试了好几种方法。。。。。。。。
最后!!!!!终于!!!!!!
参考:https://www.yisu.com/zixun/49141.html
中间踩了个坑,导致一直报map不能转为String异常。
- 原因:
permissionMap.getJsonData().toString()
- 正确写法:
String.valueOf(permissionMap.getJsonData())
,因为这个jsonData好像是map????
//创建json对象
JSONObject json = JSON.parseObject(String.valueOf(permissionMap.getJsonData()));
permissionAdmin = "tamias:xxx:ADMIN";
permissionDev = "tamias:xxx:DEV"
//获取boolean类型就getBoolean(key),如果是String类型就是getString(key)
if(json.getBoolean(permissionAdmin))
return RoleEnum.ADMIN;
if(json.getBoolean(permissionDev))
return RoleEnum.DEVELOPER;
补充:
List中的元素转换成String[]数组
List<String> list = new ArrayList<String>();
list.add("a1");
list.add("a2");
添加完之后,就有值了,
法1:
String[] str = list.toArray(new String[list.size()]);
法2:
String str[] = list.toArray(new String[]);


以上是关于实习获取json中key的值的主要内容,如果未能解决你的问题,请参考以下文章