数据的转换,我的代码(垃圾)和我的师傅的代码!

来源:互联网 发布:河南大学软件学院图片 编辑:程序博客网 时间:2024/06/12 01:22

我要做的事情是这样的!我要和一个C++对接!C++给传一个数据,我来进行处理,然后添加到Es中去,说白了也就是我写了一个接口!下面我们来看看我的代码!

首先C++给我的数据是这样的!

String jsonStr="

 {
    "bandWidth": {
        "actualRecvBwApplication": 0,
        "actualRecvBwAudio": 0,
        "actualRecvBwMax:": 1534,
        "actualRecvBwVideo:": 1534,
        "actualSendBwApplication:": 0,
        "actualSendBwAudio": 0,
        "actualSendBwMax": 1905,
        "actualSendBwVideo:": 1545,
        "availRecvBwMax": 100000,
        "availSendBwMax:": 1905,
        "truelyNetData": true
    },
    "localdatetime": "2017-07-10T15:19:41",
    "localtimestamp": 1499671181257,
    "orgkey": "c71badcc543e4c968275025f1896ec5f",
    "shaperInfo": {
        "delayAppPriorityNormal": 0,
        "delayAppPriorityRetransmit": 0,
        "delayVideoPriorutyRetransmit": 0,
        "delayVideoPriorytyNormal": 71,
        "numDroppedAppPriorityNormal": 0,
        "numDroppedVideoPriorytyNormal": 0,
        "numFramesAppPriorityNormal": 0,
        "numFramesVideoPriorytyNormal": 0,
        "numPacketsAppPriorityNormal": 0,
        "numPacketsAppPriorityRetransmit": 0,
        "numPacketsVideoPriorutyRetransmit": 0,
        "numPacketsVideoPriorytyNormal": 7,
        "truelyRateShaperData": true
    },
    "vedioInfo": {
        "decodedFrameRate": 29,
        "displayedFrameRate": 29,
        "height": 720,
        "receivedFrameRate": 29,
        "truelyParticipantData": true,
        "width": 1280
    }
}
";

下面是我的处理代码

@RequestMapping(value = "/postdata" , method = RequestMethod.POST)public ResponseResult posts(                            HttpServletRequest request,                            String jsonStr) throws UnknownHostException {    outputRequest(request);    Map map1 = new LinkedHashMap<>();    if("".equals(jsonStr)){        return new ResponseResult(PaasExceptionDict.DataFormatError);    }    //System.out.println("++++++++++++++++++++++++++++++++++++++"+jsonStr);    //解析json对象    Map map = new HashMap();    Gson gson = new Gson();    JSONObject jsonObject = JSONObject.parseObject(jsonStr);    for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {        //System.out.println("#############"+entry.getKey()+"==== "+entry.getValue());        if("bandWidth".equals(entry.getKey())){            JSONObject jsonObject1 = JSONObject.parseObject(entry.getValue().toString());            for (Map.Entry<String, Object> entry1 : jsonObject1.entrySet()) {                map.put(entry1.getKey(),entry1.getValue());                /*if("flase".equals(entry.getValue())){                        return new ResponseResult(PaasExceptionDict.DataFormatError);                }*/            }        }        if("vedioInfo".equals(entry.getKey())){            JSONObject jsonObject1 = JSONObject.parseObject(entry.getValue().toString());            for (Map.Entry<String, Object> entry1 : jsonObject1.entrySet()) {                map.put(entry1.getKey(),entry1.getValue());            }        }        if("shaperInfo".equals(entry.getKey())){            JSONObject jsonObject1 = JSONObject.parseObject(entry.getValue().toString());            for (Map.Entry<String, Object> entry1 : jsonObject1.entrySet()) {                map.put(entry1.getKey(),entry1.getValue());            }        }        if("orgkey".equals(entry.getKey())){            map.put(entry.getKey(),entry.getValue());        }        if("localtimestamp".equals(entry.getKey())){            map.put(entry.getKey(),entry.getValue());        }        if("localDateTime".equals(entry.getKey())){            map.put(entry.getKey(),entry.getValue());        }    }    long timestamp=new Date().getTime();    //System.out.println("时间戳是:"+timestamp);    map.put("servertimestamp",timestamp);    //时间戳转换成国际时间    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");    String format1 = format.format(timestamp);    map.put("serverDateTime",format1);    String json = gson.toJson(map);    //System.out.println("===================================== "+json);   //添加数据    InsertDataEs(json);    map1.put("json", json);    return  new ResponseResult(true,map1);}
下面是我师傅的代码!

@RequestMapping(value = "/putdata" , method = RequestMethod.POST)public ResponseResult posts(        HttpServletRequest request,        @RequestBody Map<String,Object> data        ) throws UnknownHostException {    outputRequest(request);    if(data==null){        System.out.println("data is null");        return new ResponseResult(false,false);    }    Gson gson=new Gson();    long timestamp=new Date().getTime();    //System.out.println("时间戳是:"+timestamp);    data.put("servertimestamp",timestamp);    //时间戳转换成国际时间    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");    String format1 = format.format(timestamp);    data.put("serverdatetime",format1);    String json = gson.toJson(data);    InsertDataEs(json);    return  new ResponseResult(true,true);}

下面就是公共的代码!

//添加数据public ResponseResult InsertDataEs(String json) throws UnknownHostException {    //System.out.println(json);    TransportClient client;    //连接client    System.out.println("create TransportClient...");    client = new PreBuiltTransportClient(Settings.EMPTY)            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(""), 9300))            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(""), 9300))            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(""), 9300));    IndexRequestBuilder indexRequestBuilder = client.prepareIndex("vdyoo", "desktop", "ID"+ IdentifierKeyHelper.getDateTimeLetterIdKey(5)).setSource(json);    IndexResponse response = indexRequestBuilder.get();    //关闭client    if (client != null) {        client.close();        System.out.println("TransportClient close...");    }    return new ResponseResult(PaasExceptionDict.InsertError);}
我写了三四天!而且他别慢!

我的师傅写了三分钟!而且特别快!

我的内心是奔溃的!

希望和我一样菜的哥们赶紧学习吧!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 浪琴手表保修卡掉了怎么办 事故车辆维修和报废怎么办 4.2货车拉缸了怎么办 工作中与同事发生矛盾怎么办 和领导关系闹僵怎么办 内倒窗户卡住了怎么办 支付宝存在安全风险怎么办 地铁车站空调坏了怎么办 面试防汛值班发生灾情你怎么办 怀孕上班路途太远怎么办 硕士错过校招应该怎么办 收银员收多了钱怎么办 商铺贷款批不了怎么办 铁路局的门面乱收房租怎么办 酒店夜审房费多过怎么办 夜审房价录多了怎么办 做工地拿不到钱怎么办 赢了官司拿不到钱怎么办 工地上拿不到钱怎么办 做了工拿不到钱怎么办 高速公路上车没油了怎么办 高铁乘务员年龄大了怎么办 总公司跑路了分公司怎么办 坐车久了耳朵懵怎么办 过完隧道耳朵疼怎么办 护照还在大使馆需要出国怎么办 护照在大使馆不返回怎么办 美国面签迟到了怎么办 成都美签迟到了怎么办 签证电调没人接怎么办 单位没有抬头纸怎么办在职证明 出国签证无银行流水怎么办 铁路职工得癌症后工作怎么办 去泰国不会泰语和英语怎么办 签证状态一直没有更新怎么办 简理财不能身份信息确认怎么办 德国领事馆没有收到预约邮件怎么办 父母一方带孩子英国签证怎么办 去韩国自由行签证怎么办 韩国自由行签证的该怎么办 法院离婚判决书没了怎么办