java entity轉js的json對象


 

前后端分離開發時,有時候從entity實體中復制字段到前端要一個一個替換比較麻煩寫了一個批量替換的方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Java entity to json</title>
    </head>
    <body>
        <textarea rows="40" cols="80" id="str" onblur="convert()">        private Integer menuId;
    private Integer parentId;
    private Integer menuType;
    private String menuName;
    private String menuHost;
    private String menuUrl;
    private String menuIcon;
    private Integer sort; //OrderIndex
    private Integer isShowMenu;
    private Integer isShowSet;
    private String accessCodeIdStr;
    private String remark;
    private Integer isPublice;

    //one to one/many
    private List<User> userList=new ArrayList<User>();//user
    private List<Access> AccessList=new ArrayList<AccessList>(); //Access
    private Set<Message> MessageList=new HashSet<Message>();</textarea>
        <textarea rows="40" cols="80" id="str2">
        </textarea>
        <input type="button" value="轉換" onclick="convert()" />
        <script>
            function convert(){
                var str=document.getElementById("str").value;
                //console.log(str)
                //var strArr=str.split(/[(\r\n)\r\n]+/);
                var strArr=str.split(/[\n]/)
                console.log(strArr)
                var str2="";
                for(var i=0;i<strArr.length;i++){
                    var lineStr=trimRight(trimLeft(strArr[i]));
                    if(lineStr.indexOf("private")==0 || lineStr.indexOf("public")==0){
                        lineStr=lineStr.replace(";"," ");
                        lineStr=lineStr.replace("="," ");
                        console.log(lineStr)
                        var lineArr=lineStr.split(" ");                        
                        var fieldName=lineArr[2]
                        console.log(fieldName+"--"+lineArr.length);
                        if(lineStr.indexOf("new ")>0){
                            str2+=''+fieldName+':[],';
                        }else{
                            str2+=''+fieldName+':null,';
                        }
                        if(lineArr[lineArr.length-1].indexOf("//")>-1){
                            str2+=lineArr[lineArr.length-1];
                        }
                        str2+='\n';
                    }else{
                        str2+=''+lineStr+'\n';
                    }
                }
                document.getElementById("str2").value=str2;
            }
            convert();
            
            
            
            //去掉左邊的空白  
            function trimLeft(s){  
                if(s == null) {  
                    return "";  
                }  
                var whitespace = new String(" \t\n\r");  
                var str = new String(s);  
                if (whitespace.indexOf(str.charAt(0)) != -1) {  
                    var j=0, i = str.length;  
                    while (j < i && whitespace.indexOf(str.charAt(j)) != -1){  
                        j++;  
                    }  
                    str = str.substring(j, i);  
                }  
                return str;  
            }  

            //去掉右邊的空白 
            function trimRight(s){  
                if(s == null) return "";  
                var whitespace = new String(" \t\n\r");  
                var str = new String(s);  
                if (whitespace.indexOf(str.charAt(str.length-1)) != -1){  
                    var i = str.length - 1;  
                    while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){  
                       i--;  
                    }  
                    str = str.substring(0, i+1);  
                }  
                return str;  
            }
        </script>
    </body>
</html>
效果如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM