function jstree_CvtVPath2TreeData (listIn) {
    var newParentId = 1;
    var listOut = [];
    listOut.push({"id": "root", "parent": "#", "text": "Root", state: {opened: true}});
    for (var i = 0; i < listIn.length; i++) {
        var arr = listIn[i].categoryName.split('/');
        arr.push(listIn[i].name);
        var parent = 'root';
        for (var j = 0; j < arr.length; j++) {
            var flag = false;
            var a = arr[j];
            for (var m = 0; m < listOut.length; m++) {
                if (listOut[m].text == a && listOut[m].parent == parent && listOut[m].id.substring(0, 6) == 'parent') {
                    flag = true;
                    break;
                }
            }
            if (!flag) {
                if (j == arr.length - 1) {
                    listOut.push({
                        "id": listIn[i].id.toString(),
                        "parent": parent,
                        "text": a,
                        icon: 'glyphicon glyphicon-file'
                    });
                } else {
                    listOut.push({
                        "id": 'parent' + newParentId,
                        "parent": parent,
                        "text": a
                    });
                }
                parent = 'parent' + newParentId;
                newParentId++;
            } else {
                parent = listOut[m].id;
            }
        }
    }
    return listOut;
}
@param listIn [{
     "id": id,
     "name": name,
     "categoryName": folder[/subfolder]*
     }]
@returns {Array}