I have a string
string = "masterkey[key1][key2]";
I want to create an associative array out of that, so that it evaluates to:
{
masterkey: {
key1: {
key2: value
}
}
}
I have tried this:
var fullName = string;
fullName = fullName.replace(/\[/g, '["');
fullName = fullName.replace(/\]/g, '"]');
eval("var "+fullName+";");
But I get the error: missing ; before statement
with an arrow pointing to the first bracket in ([
) "var masterkey["key1"]["key2"];"
I know that eval()
is not good to use, so if you have any suggestions, preferably without using it, I'd really appreciate it!