小段大帅 2017-10-18 20:11 采纳率: 0%
浏览 894

数据拼装(格式转换)问题

源数据格式(list)

 {
            "dataPoint": {
                "value": 1.0,
                "timestamp": 1508208780000
            },
            "resourceId": 11150,
            "resourceName": "duanzhenshuai.sunyainfo.com",
            "metricId": 10720,
            "metricName": "Availability"
        },
        {
            "dataPoint": {
                "value": 0.00530464217547344,
                "timestamp": 1508208600000
            },
            "resourceId": 11150,
            "resourceName": "duanzhenshuai.sunyainfo.com",
            "metricId": 10722,
            "metricName": "Transfer"
        },
        {
            "dataPoint": {
                "value": 0.3743428756508957,
                "timestamp": 1508208600000
            },
            "resourceId": 11150,
            "resourceName": "duanzhenshuai.sunyainfo.com",
            "metricId": 10725,
            "metricName": "CpuUsage"
        }

目的数据格式

 "data": {
    "Availability": "1.0",
    "Transfer": "0.00530464217547344",
    "CpuUsage": "0.3743428756508957"
  }

给出java或json的解决方案都可以,目前只能想到if-else或switch-case判断,但这样如果增添字段会非常麻烦?求指点

展开全部

  • 写回答

2条回答 默认 最新

  • Amo_lt 2017-10-18 22:31
    关注

    现在能想到的也是用if判断,怕增加字段的话,那个方法要不就传个String...参数类型,然后根据这个参数来写个通用的if判断。

    评论
  • 独家de记忆 2017-10-19 00:18
    关注
        /**
         * @param mapKeys   待转换的名称数组,与list顺序对应
         * @param list
         * @return
         */
        public Map<String, String> convert(String [] mapKeys,JSONArray list){
            Map<String, String> map = new HashMap<String, String>();
            for (int i = 0; i < list.size(); i++) {
                map.put(mapKeys[i], list.getJSONObject(i).getJSONObject("dataPoint").getString("value"));
            }
            return map;
        }
    

    定义一个数组作为参数,数组中放名称,顺序与list对应上,加入你增加一个,你的列表也得增加一个

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部