baidu_36967644 2019-01-11 21:44 采纳率: 0%
浏览 1004

求教各位大侠,如何使用Java语言遍历这段Json数组的每个元素,求代码示例

[
    {
        "projectName": "bingo-paas",
        "appName": "bingo-devops",
        "progType": "GENERAL",
        "deployType": "CONTAINER",
        "projectId": "p-19sn3n1sv66c0",
        "progId": "g-19sn59o2m29e0",
        "progName": "bingo-devops-console",
        "packs": [
            {
                "packId": "k-19ssm5j5dc220",
                "packCode": "bingo-devops-console",
                "packUri": "registry.bingosoft.net/bingodevops/bingo-devops-console",
                "packVersion": "latest",
                "repo": {
                    "repoId": "r-1adnr9sbnshbo",
                    "repoName": "registry",
                    "repoType": "CONTAINER",
                    "repoUri": "http://registry.bingosoft.net",
                    "handler": {},
                    "projectName": "bingo-paas",
                    "credentialId": "d-1adnr9pusbmkp",
                    "repoServer": "http://registry.bingosoft.net",
                    "hibernateLazyInitializer": {},
                    "projectId": "p-19sn3n1sv66c0",
                    "credentialName": "paas_app_ecr"
                },
                "progId": "g-19sn59o2m29e0",
                "appId": "a-19sn3okvsq0i0"
            }
        ],
        "appId": "a-19sn3okvsq0i0",
        "createdOn": "2018-02-25 02:21:57",
        "createdBy": "308b29c4-3f5b-4a3d-9d5b-4e41ae4dda81",
        "createdByName": "李强"
    },
    {
        "projectName": "bingo-paas",
        "appName": "bingo-devops",
        "progType": "GENERAL",
        "deployType": "CONTAINER",
        "projectId": "p-19sn3n1sv66c0",
        "progId": "g-19ta9di7jmpq0",
        "progName": "bingo-devops-agent",
        "packs": [
            {
                "packId": "gp-19tmlpje1inrc",
                "packCode": "bingo-devops-agent",
                "packUri": "registry.bingosoft.net/bingodevops/bingo-devops-agent",
                "packVersion": "latest",
                "repo": {
                    "repoId": "r-1adnr9sbnshbo",
                    "repoName": "registry",
                    "repoType": "CONTAINER",
                    "repoUri": "http://registry.bingosoft.net",
                    "handler": {},
                    "projectName": "bingo-paas",
                    "credentialId": "d-1adnr9pusbmkp",
                    "repoServer": "http://registry.bingosoft.net",
                    "hibernateLazyInitializer": {},
                    "projectId": "p-19sn3n1sv66c0",
                    "credentialName": "paas_app_ecr"
                },
                "progId": "g-19ta9di7jmpq0",
                "appId": "a-19sn3okvsq0i0"
            }
        ],
        "appId": "a-19sn3okvsq0i0",
        "createdOn": "2018-02-25 02:21:57",
        "createdBy": "308b29c4-3f5b-4a3d-9d5b-4e41ae4dda81",
        "createdByName": "李强"
    }
]
  • 写回答

1条回答 默认 最新

  • baidu_36967644 2019-01-14 17:58
    关注
        public static List<Map<String,String>> sum(String json) {
            JSONArray analyse = JSONArray.parseArray(json);
            List<Map<String, String>> okList = new LinkedList<Map<String, String>>();
            for (int i = 0; i < analyse.size(); i++) {
                // 遍历 jsonarray 数组,把每一个对象转成 json 对象
                Map<String, String> okMap = new HashMap<String, String>();
                String progId = NullTransfer.transfer(analyse.getJSONObject(i).get("progId").toString());
                String progType = NullTransfer.transfer(analyse.getJSONObject(i).get("progType").toString());
                String deployType = NullTransfer.transfer(analyse.getJSONObject(i).get("deployType").toString());
                okMap.put("progId", progId);
                okMap.put("progType", progType);
                okMap.put("deployType", deployType);
    
                JSONObject job = analyse.getJSONObject(i);
                Gson gson = new Gson();
                Map<String, String> dataMap = gson.fromJson(job.toJSONString(), new TypeToken<Map<String, Object>>() {
                }.getType());
                Object dataObject = dataMap.get("packs");
                List<Map<String, Object>> resourceList = (List<Map<String, Object>>) dataObject;
                for (int j = 0; j < resourceList.size(); j++) {
                    String packId = NullTransfer.transfer(resourceList.get(j).get("packId").toString());
                    //String progId = NullTransfer.transfer(resourceList.get(j).get("progId").toString());
                    String packUri = NullTransfer.transfer(resourceList.get(j).get("packUri").toString());
                    String packVersion = NullTransfer.transfer(resourceList.get(j).get("packVersion").toString());
                    okMap.put("packId", packId);
                    okMap.put("progId", progId);
                    okMap.put("packUri", packUri);
                    okMap.put("packVersion", packVersion);
                }
                okList.add(okMap);
            }
            return okList;
    
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建