Java实现PHP中的http_build_query()

作者: adm 分类: java 发布时间: 2022-10-28

背景:

PHP实现的系统要跟Java系统通讯,通讯中要求验签,验签中需要使用PHP 的 http_build_query

一开始找下Java轮子:

    /** 
     * Java实现PHP中的http_build_query()效果 
     * @param array 
     *        key=value形式的二位数组 
     * @return 
     */  
    public String http_build_query(Map array){  
        String reString = null;  
        //遍历数组形成akey=avalue&bkey=bvalue&ckey=cvalue形式的的字符串  
        Iterator it = array.entrySet().iterator();    
        while (it.hasNext()){  
            Map.Entry entry =(Map.Entry) it.next();    
            String key = entry.getKey();    
            String value = entry.getValue();    
            reString += key+"="+value+"&";  
        }  
        reString = reString.substring(0, reString.length()-1);  
        //将得到的字符串进行处理得到目标格式的字符串  
        try {  
            reString = java.net.URLEncoder.encode(reString,"utf-8");  
        } catch (UnsupportedEncodingException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
        reString = reString.replace("%3D", "=").replace("%26", "&");  
        return reString;  
    }  

这个简单的处理只能应用在GET请求和POST form表单,对稍微正常复杂点的POST json无能为力,而Java 的Springboot 的封装又使Json的封装很普遍,表现在接口上就是Post Json

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!