I am getting response in a string array like this.
{"columnModelObj":[{"filter":{"type":"list"},"multiValueTextData":true,"dataIndex":"_1","width":150,"text":"FILM"},{"filter":{"type":"list"},"multiValueTextData":true,"dataIndex":"_2","width":150,"text":"GENRE"},{"filter":{"type":"list"},"multiValueTextData":true,"dataIndex":"_3","width":150,"text":"LEAD STUDIO"},{"filter":{"type":"number"},"renderer":formatGridNumberColumn,"dataIndex":"_4","showOriginalData":true,"width":150,"text":"AUDIENCE SCORE %"},{"filter":{"type":"number"},"renderer":formatGridNumberColumn,"dataIndex":"_5","showOriginalData":true,"width":150,"text":"PROFITABILITY"},{"filter":{"type":"number"},"renderer":formatGridNumberColumn,"dataIndex":"_6","showOriginalData":true,"width":150,"text":"ROTTEN TOMATOES %"},{"filter":{"type":"number"},"renderer":formatGridNumberColumn,"dataIndex":"_7","showOriginalData":true,"width":150,"text":"WORLDWIDE GROSS"},{"filter":{"type":"number"},"renderer":formatGridNumberColumn,"dataIndex":"_8","showOriginalData":true,"width":150,"text":"YEAR"},{"filter":{"type":"list"},"multiValueTextData":true,"dataIndex":"_9","width":150,"text":"DATE"}],"recordModelObj":[{"name":"Film","type":"string"},{"name":"Genre","type":"string"},{"name":"Lead Studio","type":"string"},{"name":"Audience score %","allowNull":true,"type":"number"},{"name":"Profitability","allowNull":true,"type":"number"},{"name":"Rotten Tomatoes %","allowNull":true,"type":"number"},{"name":"Worldwide Gross","allowNull":true,"type":"number"},{"name":"Year","allowNull":true,"type":"number"},{"name":"Date","type":"string"}]}
I have to make in to array object. Any possible idea how to make it.
Here is what I am doing but no luck.
var foo = col.split("\n").reduce(function(obj, str, index) {
let strParts = str.split(":");
if (strParts[0] && strParts[1]) {
obj[strParts[0].replace(/\s+/g, '')] = strParts[1].trim();
}
return obj;
}, {});