Что было бы самым простым способом преобразования следующего массива «ключ-> значение» в соответствующий объект стиля «JSON»? Пример ниже - преобразование ввода в граф.Преобразовать сплющенные пары ключ-> значение в вложенный объект
var input = {
"graph.default.seriesColor" : ["#cccccc", "#3c3c3c"],
"graph.default.stackSeries" : false,
"graph.default.title.text" : "Hello!",
"graph.default.title.show" : false,
"graph.default.axesDefaults.show" : true,
"graph.default.axesDefaults.min" : 17,
"graph.default.axesDefaults.max" : 20,
};
var graph = {
default: {
seriesColor: ["#cccccc", "#3c3c3c"],
stackSeries: false,
title: {
text: "Hello!",
show: false
},
axesDefault: {
show: true,
min: 17,
max: 20
}
}
};
Я рассмотрел использование eval, однако он быстро усложнился рекурсивным образом.
http://whathaveyoutried.com? – rcdmk
Я начал возиться с вызовом функции, которая медленно проходила через ключи, предполагая, что самый последний «токен» - это значение, и обеспечение того, чтобы все токены были правильными значениями в объекте, а затем выполняли eval по всему ключу. Однако это быстро усложнилось. Теперь я рассматриваю возможность преобразования его в строковое представление объекта json и использования json.parse(). Мне жаль, что у меня нет кода для показа - я не ожидаю кода взамен; просто идеи. :-) – Meister