code: function(options, filePaths, results, numResults) {
  		var content = "{\n\t\"numResults\": " + numResults + ",\n" + 
  			"\t\"creationDate\": \"" + _getISODateString() + "\",\n" + 
  			"\t\"results\": {\n";
  
  		var group = [];
  		for (var file in results) {
  			var groupStr = "\t\t\"" + file + "\": [\n";
  
  			var matchGroup = [];
  			for (var i=0; i<results[file].length; i++) {
  				matchGroup.push("\t\t\t{\n" + 
  					"\t\t\t\t\"line\": " + results[file][i].line + ",\n" + 
  					"\t\t\t\t\"match\": " + "\"" + _cleanStr(results[file][i].match) + "\"" + 
  					"\n\t\t\t}");
  			}
  			groupStr += matchGroup.join(",\n") + "\n";
  			groupStr += "\t\t]"
  			group.push(groupStr);
  		}
  		content += group.join(",\n");
  		content += "\n\t}"
  
  		if (options.outputExaminedFiles) {
  			content += ",\n\t\"examinedFiles\": [\n";
  			var files = [];
  			for (var i=0; i<filePaths.length; i++) {
  				files.push("\t\t\"" + _cleanStr(filePaths[i]) + "\"");
  			}
  			content += files.join(",\n");
  			content += "\n\t]";
  		}
  
  		content += "\n}";
  
  		return content;
  	}
docs: This generates a JSON formatted file of the match results. Boy I miss templating. :-)
  @param options
  @param results
  @param numResults
  @returns {string}
  @private