JsonArray转HashMap问题 2C

我客户端这边收到一条数据大概是JsonArray这种格式的,例如:
[{"name":"zhangsan","age":"12","sex":"male","address":"xxxxx"},{"name":"lisi","age":"11","sex":"male","address":"qqqqq"},{},{}]
我要怎么把这串内容转换成HashMap>格式?
其中infoElement是自己定好的age,sex,address等信息的一个序列类

6个回答

首先你给出的是JsonArray对象,且里面含相同Key值,所以按要求只能先转成List>,在循环获得HashMap。
alibaba很早就已经有json对象转其他对象进行处理的Api,即fastJson.jar,楼主可下载后导入自己的项目。
涉及包com.alibaba.fastjson.JSON以及com.alibaba.fastjson.TypeReference。
具体的实现方法如下,设接收数据为str:
1.先对客户端接收的数据进行意义上的JsonArray验证,转JsonArray对象
JSONArray jsonArray = JSONArray.fromObject(str);
2.将JSONArray对象转List>对象
List> list = JSON.parse(jsonArray.toString(),new TypeReferenece>>(){});
3.循环List对象即可得HashMap
for(Map map : list)
如以上答案解决了你的困扰,请采纳,谢谢

u011249920
简一_hz 谢谢,还没使用过,回头研究下!
接近 4 年之前 回复

讲那么多没用,给你假设代码
List《Map《String,Object》》 list = new ArrayList()《Map《String,Object》》;
list = (强转) JSON;
Map 《String,Object》 hashMap = new HashMap《String,Object》();
for(Map map : list){
int count;
count++;
hashMap .put("hashMap"+count,map);
}

sinat_35134348
传说中的神话灬 不是有个Objcet 吗?
接近 4 年之前 回复
sinat_35134348
传说中的神话灬 那你怎么没有贴出你的代码,害我白忙活一场~~~~(>_<)~~~~
接近 4 年之前 回复
u011249920
简一_hz 我自己前天就是这么弄的,主要就是最后我需要List<Map<String, Object>>转成List<自定义的一个实体类>,问题就是卡在这里
接近 4 年之前 回复

前者是列表,所以只能转换成Java的list 吧。

先将json 解析出来,再逐一存储进Hashmap 中

转成json对象,然后逐条map里,或者用第三方的gson,看看有没有此项功能,记得好像可以

可以转 不过你得先把array转为JsonObject再转为String类型 按照下标来存进Map里面

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问