Edit in JSFiddle

// Visualize: Discover available types, formats etc. (5.6)

visualize({
    auth: {
        name: "jasperadmin",
        password: "jasperadmin",
        organization: "organization_1"
    }
}, function (v) {
    
    buildControl("Chart types", v.report.chart.types); 
    
    buildControl("Resources types", v.resourcesSearch.types); 
    
    buildControl("Resources search sort types", v.resourcesSearch.sortBy); 
 // not working yet   
 //    buildControl("Resources search access types", v.reourcesSearch.accessType);
    
    buildControl("Report export formats", v.report.exportFormats);
    
    buildControl("Report table column types", v.report.table.column.types);
//not working yet    
//    buildControl("Report crosstab elements types", v.report.crosstab.types);
   
});

function buildControl(name, options) {

        function buildOptions(options) {
            var template = "<option>{value}</option>";
            return options.reduce(function (memo, option) {
                return memo + template.replace("{value}", option);
            }, "")
        }
    
    console.log(options);
    
    if (!options.length){
        console.log(options);
    }

        var template = "<label>{label}</label><select>{options}</select><br>",
            content = template.replace("{label}", name)
                .replace("{options}", buildOptions(options));

        $("#container").append($(content));
    }
    
<!-- Visualize: Discover available types, formats etc. (5.6)
  -->

<script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>
<div id="container"></div>
#container select {
    
    margin: 10px;
    
}