javascript數組轉json及json值的搜索方法

直接上代碼了,有數據有示例,滿滿的乾貨 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script>
        /*模擬數據*/
        var res = {
            success: true, msg: "", datas: [{ wt_code: "G02", wt_name: "大工", user_id: "001", user_name: "小明" },
            { wt_code: "G02", wt_name: "大工", user_id: "002", user_name: "小李" },
            { wt_code: "G02", wt_name: "大工", user_id: "003", user_name: "小張" },
            {wt_code:"G03",wt_name:"中工",user_id:"006",user_name:"小華"},
            {wt_code:"G03",wt_name:"中工",user_id:"008",user_name:"小楊"}]
        }
        var datajson=undefined;

        /*數組轉JSON*/
        function arraytojson(arr1) {
            if (arr1.length == 0) { return false; }
            datajson={};
            var key1 = "";
            for (var i = 0; i < arr1.length; i++) {
                key1=arr1[i]["wt_code"];
                if (!datajson[key1]) {
                    datajson[key1] = { userList: [], name: arr1[i]["wt_name"] };
                }
                datajson[key1]["userList"].push({ user_id: arr1[i]["user_id"], user_name: arr1[i]["user_name"] });
            }
        }
        /*顯示轉後的JSON*/
        function showJson() {
            if (datajson==undefined){
                arraytojson(res.datas);
            }
            document.getElementById("TextArea1").value = JSON.stringify(datajson);
        }
        /*取全部工種*/
        function getallwt() {
            if (datajson==undefined){
                arraytojson(res.datas);
            }
            var tmpstr = "";
            for (var key in datajson) {
                tmpstr += key+"="+datajson[key]["name"] + ","
            }
            document.getElementById("TextArea1").value = tmpstr;
        }
        /*取指定工種對應人員*/
        function getwtperson(wtcode) {
            if (datajson == undefined) {
                arraytojson(res.datas);
            }
            var tmpstr = "";
            if (!datajson[wtcode]) {
                document.getElementById("TextArea1").value = wtcode + "工種不存在";
                return false;
            }
            if (datajson[wtcode]["userList"].length == 0) {
                document.getElementById("TextArea1").value = datajson[name] + "不存在相關員工";
                return false;
            }
            var userinfo = undefined;
            for (var i = 0; i < datajson[wtcode]["userList"].length; i++) {
                userinfo = datajson[wtcode]["userList"][i];
                tmpstr += userinfo["user_id"] + "=" + userinfo["user_name"] + ",";
            }
            document.getElementById("TextArea1").value = tmpstr;
        }
    </script>
</head>
   
<body>
    <input type="button" οnclick="showJson()" value="顯示轉換後的json" /><br>
    <input type="button" οnclick="getallwt()" value="獲取全部工種" /><br>
    <input type="button" οnclick="getwtperson('G02')" value="獲取全部大工員工" /><br>
    <input type="button" οnclick="getwtperson('G03')" value="獲取全部中工員工" /><br>
    <textarea id="TextArea1" cols="20" rows="20"></textarea>
</body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章