处理大量json数据,输出指定格式笔记

274 阅读1分钟

一:数据

二:预期效果

(转成文字输出到记事本并且换行显示)

实现:

var treeCol = new Array();//所见腺叶
var treeColredkey = new Array();//所见腺叶标红关键字
var s = "";
//var winSave = window.open();
//winSave.document.open("text", "utf-8");
$(function () {
    $.ajax({
        url: "/checked_data.json",
        type: "GET",
        dataType: "json", 
        success: function (data) {
            //each循环 使用$.each方法遍历返回的数据data     
            $.each(data, function (i, item) {
                var items = JSON.parse(item[6]);//整个数组集合
                 Chaoshengdan = items.NewContent;//超声报告信息
                console.log(Chaoshengdan);
                var checkResult = Chaoshengdan.checkResult;//所见腺叶   
                if (checkResult != "") {
                        var checkResultString = checkResult;   
                    try {
                        checkResultString = decodeURIComponent(checkResultString, "UTF-8").replace(/<[^>]+>/g, "").replace(/&nbsp;/ig, "").replace(/;/g,",");//就行url解码成字符串
                    } catch (e) {
                        checkResultString = decodeURIComponent(encodeURIComponent(checkResultString), "UTF-8").replace(/<[^>]+>/g, "").replace(/&nbsp;/ig, "").replace(/;/g,",");//对编码格式错误的进行二次解码
                    }
                    //句号>2                 
                    treeCol[i] = new Array();
                    treeColredkey[i] = new Array();
                    //先判断所见腺叶有没有标红部分
                    if (checkResultString.indexOf("#ff00000")>=0) {

                    }
                    var checkResultStringj = checkResultString.split('。');//先根据句号分隔
                    if (checkResultStringj.length > 1) {  //句号里面再分逗号
                        for (var k = 0; k < checkResultStringj.length; k++) {
                            var checkResultStringdk = checkResultStringj[k].split(',');//再根据逗号分隔                 
                            for (var j = 0; j < checkResultStringdk.length; j++) {
                                var tlength = checkResultStringdk.length - 1;
                                if (!(checkResultStringdk[j + 1] == undefined)) //i+1不为空                               
                                    treeCol[i][j]= checkResultStringdk[0] + "," + checkResultStringdk[j + 1] + "," + checkResultStringdk[tlength] + "\r\n";//每次显示首   当前i   尾'
                                //winSave.document.write(s);
                            }    
                        }
                    } else {
                        var checkResultStringd = checkResultString.split(',');//再根据逗号分隔
                        for (var j = 0; j < checkResultStringd.length; j++) {
                            var tlength = checkResultStringd.length - 1;
                            if (!(checkResultStringd[j + 1] == undefined)) //i+1不为空                               
                                treeCol[i][j] = checkResultStringd[0] + "," + checkResultStringd[j + 1] + "," + checkResultStringd[tlength] + "\r\n";//每次显示首   当前i   尾
                            //winSave.document.write(s);
                    }                   
                    }                                       
                }            
            })                   
                //winSave.document.execCommand("SaveAs", true, "code.txt");
                //winSave.close();
            
        }
    })         
})

(将字符串中标红字段取出,并输出标红字段的下标首尾索引)

       if (checkResultStringdk[j].indexOf('#ff0000') >= 0) {
                                                        checkResultStringdk[j] = checkResultStringdk[j].replace(/<div>/g,"");
                                                        var strindex = checkResultStringdk[j].indexOf('#ff0000');
                                                        var strcontent = checkResultStringdk[j].substring(checkResultStringdk[j].indexOf('>') + 1, checkResultStringdk[j].lastIndexOf('</'));//实质内多发结节
                                                        var stringresult = checkResultString.replace(/<[^>]+>/g, "").replace(/&nbsp;/ig, "").replace(/;/g, ",");
                                                        var thisindex = stringresult.indexOf(strcontent);
                                                        s = s + stringresult + "[" + parseInt(thisindex+1) + "," + parseInt(thisindex + strcontent.length) + "]" + "\r\n";

                                                    }