JSFiddle - React, Tailwind, and code Playground
HTML
<textarea id="exampleInput" class="example">
{
"entries": [
{
"title":"jsonaaaaa",
"comments":100
}
]
}
</textarea>
<textarea id="exampleOutput" class="example"></textarea>
CSS
.example {
width: 100%;
height: 200px;
}
JavaScript
var inputEl = $("#exampleInput");
var outputEl = $("#exampleOutput");
function DataRow(contents) {
this.object = contents;
}
DataRow.prototype.get = function(key) {return key?this.object[key].object:this.object;};
DataRow.prototype.set = function(key, val) {if (key) {this.object[key] = val;} else {this.object = val;};};
DataRow.prototype.save = function() {/*Save to DB or whatever*/};
inputEl.change(function() {
var resultObject = JSON.parse( inputEl.val(),function(key, val) {
if (key === "" || typeof val === Array) { //See MDN for why this is necessary
return val;
} else {
return new DataRow(val);
}
});
console.log(resultObject.entries.object[0].get("title"));
outputEl.val(JSON.stringify(resultObject));
});