博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
com.alibaba.fastjson 在不知道key的情况下如何取键和值
阅读量:6900 次
发布时间:2019-06-27

本文共 997 字,大约阅读时间需要 3 分钟。

entrySet是关键!

JSONArray akeArr = (JSONArray) result.getJSONArray("AKE");

JSONArray keywordArray = new JSONArray();

for (int i = 1; i < akeArr.size(); i++) {

JSONObject jsonObj = akeArr.getJSONObject(i);

JSONObject keywordJO = new JSONObject();

for (Map.Entry<String, Object> entry : jsonObj.entrySet()) {

          keywordJO.put("word", entry.getKey());

          keywordJO.put("weight", entry.getValue());

 }

keywordArray.add(keywordJO);

}

jo.put("keywords", keywordArray);

扩展一下,若解析json会有点问题:

解析json数据是会打乱原有数据顺序的,因为源码的排序规则是根据HASH值排序的,如果想要按照字符串顺序遍历JSON属性,需要在转换的时候指定使用LinkedHashMap代替HashMap。

//无序

JSONObject jsonObj = JSON.parseObject(jsonStr);

for (Map.Entry<String, Object> entry : jsonObj.entrySet()) {

       System.out.println(entry.getKey() + ":" + entry.getValue());

}

//有序

LinkedHashMap<String, String> jsonMap = JSON.parseObject(jsonStr, new TypeReference<LinkedHashMap<String, String>>() {

        });

for (Map.Entry<String, String> entry : jsonMap.entrySet()) {

          System.out.println(entry.getKey() + ":" + entry.getValue());

}

转载地址:http://lvvdl.baihongyu.com/

你可能感兴趣的文章
linux 服务器 keras 深度学习环境搭建
查看>>
xshell+xmanager远程linux图形化界面
查看>>
布局模型
查看>>
我的友情链接
查看>>
jquery 实现复选框 全选/反选
查看>>
我的友情链接
查看>>
http://www.mossle.com/wiki/13.lemon-devguide/0008.modeler
查看>>
UI自动化测试之selenium(3)——采坑填坑集
查看>>
全美五大最创新的公司
查看>>
传微软将于明年推出Linux版Office
查看>>
后LHC时代对撞机:瞬间输出能量超全球电力千倍
查看>>
Leetcode#75Sort Colorsetcode
查看>>
3月30日作业
查看>>
公司电话突然不能打外线故障处理过程
查看>>
Windows Server 2008流媒体服务器---创建播放列表
查看>>
centos添加批量添加ip提示无效参数
查看>>
PHP mkdir函数
查看>>
Linux基础命令---检查密码文件pwck
查看>>
python这+=和=的拓展知识
查看>>
oracle集群件
查看>>