Sanitize SharePoint Data

This also includes converting JSON data from a string to an object.

by Matthew Day

HTML

<!--
Open the console to see the results
-->

JavaScript

var res = '<div class="ExternalClass17331D6C37D4483BA758C8DE19A6DE9F">&#123;&quot;1&quot;&#58;&#123;&quot;drill&quot;&#58;true&#125;,&quot;2&quot;&#58;&#123;&quot;plant&quot;&#58;&quot;vegp&quot;,&quot;unit&quot;&#58;&quot;two&quot;&#125;,&quot;3&quot;&#58;&#123;&quot;classification&quot;&#58;&quot;alert&quot;&#125;,&quot;4&quot;&#58;&#123;&quot;timezone&quot;&#58;&quot;central&quot;&#125;,&quot;5&quot;&#58;&#123;&quot;requesttype&quot;&#58;&quot;standby&quot;&#125;,&quot;6&quot;&#58;&#123;&quot;securityevent&quot;&#58;false&#125;,&quot;9&quot;&#58;&#123;&quot;radiation&quot;&#58;false&#125;,&quot;agency&quot;&#58;[],&quot;sncontact&quot;&#58;[],&quot;closeevent&quot;&#58;[],&quot;injuries&quot;&#58;false,&quot;assistance&quot;&#58;false&#125;</div>'

var sanitize = function(dirty) {
	var begin = /<div class="ExternalClass(.*)">/gi;
  var leftbracket = /&#123;/gi;
  var quote = /&quot;/gi;
  var colon = /&#58;/gi;
  var rightbracket = /&#125;/gi;
  var end = /<\/div>/gi;
	return dirty.replace(begin, "").replace(leftbracket, "{").replace(quote, '"').replace(colon, ":").replace(rightbracket, "}").replace(end, "");
}

var sanitized;

var run = function(param) {
	sanitized = sanitize(param);
}

run(res);

console.log(JSON.parse(sanitized));

//SOURCES
// https://gist.github.com/jamischarles/1046671
// https://davidwalsh.name/string-replace-javascript
// https://www.tutorialspoint.com/javascript/string_replace.htm
// http://stackoverflow.com/questions/17785592/difference-between-json-stringify-and-json-parse