JSFiddle - React, Tailwind, and code Playground
HTML
<div id="input"></div>
<hr>
<div id="output"></div>
JavaScript
var text='<html><head><meta></hea{"key":"value"}d><body>{"key":0}</body></html>';
var results = [];
for(var start=0; start<text.length; start++){
for(var end=start+1; end<text.length; end++){
var part = text.substring(start, end);
try{
var json = JSON.parse(part);
if( typeof json === "object" && !Array.isArray(json) )
results.push({
position: start,
length: part.length,
text: part,
object: json
});
start=end+1;
break;
}
catch(err){
}
}
}
document.getElementById("input").innerText = text;
document.getElementById("output").innerText = JSON.stringify(results, null, ' ');