Вот пример, который преобразует строку json, содержащую функцию, обратно в объект json с допустимым объявлением функции.
var jsonstring = "{\" schema \ ": {\" title \ ": \" Пользовательская обратная связь \ ", \" description \ ": \" so \ ", \" type \ ": \" object \ ", \" properties \ ": {\" name \ ": {\" type \ ": \" string \ "}}}," + "\" options \ ": {\" form \ ": { \ "attributes \": {}, \ "buttons \": {\ "submit \": {\ "title \": \ "It \", \ "click \": \ "function() {alert (' Здравствуйте');}\" }}} }}";
var jsonData = JSON.parse (jsonstring);
function Iterate(data)
{
jQuery.each(data, function (index, value) {
if (typeof value == 'object') {
Iterate(value);
}
else {
if (value.indexOf("function()") > -1)
data[index] = eval("(" + value + ")");
}
});
};
Iterate(jsonData);
В этом случае jsonData.options.form.buttons.submit.click();
Возможный дубликат [Как разобрать JSON в JavaScript] (http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript) – zzzzBov
'' a1 '' цитаты не имеют значения , но строка для этого должна быть заменена на 'parseInt()' для этого значения, чтобы получить целочисленное значение, но строка JSON действительно должна быть '' a1 ": 5'. Зло eval для функции? –
** Не дубликат! ** Парень хочет оценить значение 'c1'. – ThiefMaster