zoukankan      html  css  js  c++  java
  • 利用fastJson、Gson做json以及String的互相转换

    fastJson
    
    1、String转换为JSONObject
    
    String param = "{"age":"24","name":"cool_summer_moon"}";
    JSONObject  jsonObject = JSONObject.parseObject(param);
    Object object = jsonObject.get("name");
    2、JSONObject转换为String
    
    String jsonString = jsonObject.toJSONString();
    3、JsonString转换为Object
    
     String jsonString = jsonObject.toJSONString();
     Info info = JSON.parseObject(jsonString, Info.class);
     4、String 转 Map
    
    String str = "{"age":"24","name":"cool_summer_moon"}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    //json对象转Map
     
    Map<String,Object> map = (Map<String,Object>)jsonObject;
    Object object = map.get("age");
    5、Map转String
    
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    String jsonString = JSON.toJSONString(map);
    System.out.println("json字符串是:"+jsonString);
     
     
    运行结果:
    json字符串是:{"name":"cool_summer_moon","age":24}
    6、Map转换为Json
    
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    JSONObject json = new JSONObject(map);
    System.out.println("Json对象是:" + json);
     
     
    运行结果:
    Json对象是:{"name":"cool_summer_moon","age":24}
    7、获取JSONObject中的JSONObject
    
    String str = "{"age":"24","info":{"name":"cool_summer_moon","time":"201902131331"}}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    JSONObject info = jsonObject.getJSONObject("info");
    info.get("name").toString();
    System.out.println("data==>"+info.toString());
    System.out.println("name==>"+ info.get("name").toString());
     
    返回值:
    data==>{"name":"cool_summer_moon","time":"201902131331"}
    name==>cool_summer_moon
    gson:
    
    1、string转换为object
    
    Gson gson = new Gson();
    String deployJson = pDeploy.getDeploymentJson();
    Deployment deployment = gson.fromJson(deployJson,Deployment.class);
    2、object转换为String
    
    Deployment deployment = new Deployment();
    Gson gson  = new Gson();
    pDeployment.setDeploymentJson(gson.toJson(deployment));
    3、map转换为json
    
    Gson gson = new Gson();
    Map map = Maps.newHashMap();  
    map.put("colour", "red");  
    map.put("weight", "10kg");  
    gson.toJson(map);  
    4、json转换为map
    
    Gson gson = new Gson();  
    Map map = Maps.newHashMap();  
    map.put("colour", "red");  
    map.put("weight", "10kg");  
    String mapJson =  gson.toJson(map);  
    map = gson.fromJson(mapJson,Map.class);  
    jackson
    
    ObjectMapper om = new ObjectMapper();
    List<Map<String,Object>> list =  om.readValue(temp, new TypeReference<List<Map<String, Object>>>() {});
     
    
     /**
         * description 生成参数
         * @param orderBean
         * @return
         */
        public JSONObject getOrderBody(OrderBean orderBean){
            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
            String timestamp = df.format(LocalDateTime.now()) + "";
            TreeMap<String, Object> params = new TreeMap<String, Object>();
            params.put("appId", orderBean.getAppId());
            params.put("timestamp", timestamp);
            params.put("version", orderBean.getVersion());
            params.put("serviceCode", orderBean.getServiceCode());
            params.put("phoneId", orderBean.getPhoneId());
            params.put("orderType", orderBean.getOrderType());
            params.put("activityId", orderBean.getActivityId());
            params.put("skuId", orderBean.getSkuId());
            orderBean.setCustomerOrderId(timestamp+orderBean.getPhoneId());
            params.put("customerOrderId", orderBean.getCustomerOrderId());
            params.put("effectType", orderBean.getEffectType());
            params.put("orderCount", orderBean.getOrderCount());
            params.put("notifyUrl", orderBean.getNotifyUrl());
            JSONObject attach = new JSONObject();
            attach.put("destinationIp", orderBean.getDestinationIP());
            attach.put("userIp", orderBean.getPrivateIP());
            attach.put("token", orderBean.getQosToken());
            params.put("attach", attach.toString());
            String sign = "";
            try {
                sign = HmacUtil.signTopRequest(params, APP_KEY);
            } catch (IOException e) {
                e.printStackTrace();
            }
            JSONObject header = new JSONObject();
            header.put("appId", orderBean.getAppId());
            header.put("serviceCode", orderBean.getServiceCode());
            header.put("timestamp", timestamp);
            header.put("version", orderBean.getVersion());
            header.put("sign", sign);
            JSONObject parameter = new JSONObject();
            parameter.put("customerOrderId", orderBean.getCustomerOrderId());
            parameter.put("phoneId", orderBean.getPhoneId());
            parameter.put("notifyUrl", orderBean.getNotifyUrl());
            parameter.put("orderType", orderBean.getOrderType());
            parameter.put("skuId", orderBean.getSkuId());
            parameter.put("activityId", orderBean.getActivityId());
            parameter.put("effectType", orderBean.getEffectType());
            parameter.put("orderCount", orderBean.getOrderCount());
            parameter.put("attach", attach.toString());
            JSONObject reqParam = new JSONObject();
            reqParam.put("header", header.toString());
            reqParam.put("params", parameter.toString());
            return  reqParam;
        }
    JSONObject reqParam = accessUtil.getOrderBody(orderBean);
    // 返回值
     String resp = RequestUtil.httpReqForJsonWithPostMethod(AccessConstants.endpoint, reqParam.toString());
     JSONObject respObject = JSONObject.fromObject(resp);
     
    if(respObject.containsKey("resCode") && respObject.containsKey("resDesc")){
       map.put("resCode",respObject.getString("resCode"));
       map.put("resDesc",respObject.getString("resDesc"));
    }else {
       map.putAll(ResultStatesEnum.ORDER_FAILURE.toMap());  
    }
  • 相关阅读:
    防盗链(三)nginx实现图片防盗链(referer指令)
    防盗链(二)nginx secure_link下载防盗链
    防盗链(一)资料整理
    如何实现 token 加密
    Socket编程(三)demo举例
    Socket编程-(二)tcp三次握手与四次挥手
    Spring的事务控制,注解和xml配置以及解释
    SpringAop的核心概念和使用,表达式匹配刨析,xml配置通知和环绕通知
    SpringAop的简介
    Spring整合JUnit测试单元
  • 原文地址:https://www.cnblogs.com/Chary/p/12841346.html
Copyright © 2011-2022 走看看