Итак, я пытаюсь извлечь узлы из моей базы данных (проходя через нее рекурсивно) и затем отображая код json, который у меня есть, в библиотеке javascript.Проблема в том, что библиотека не идентифицирует вывод массива json, потому что она имеет дополнительные кавычки и косую черту (/).Вот код:
data = {
"nodes":
"\"User1:{'color':'green','shape':'dot','label':'You'},
User2:{'color':'green','shape':'dot','label':'You'},
User3:{'color':'green','shape':'dot','label':'You'}\""
,"edges":{}};
И я хочу, чтобы он выглядел примерно так:
var data = {
"nodes":{
"You":{'color':'green','shape':'dot','label':'You'},
Ben:{'color':'black','shape':'dot','label':'Ben'},
David:{'color':'black','shape':'dot','label':'David'}
},
"edges":{
You:{ Ben:{}, David:{} },
Ben:{ David:{}}
}
};
В моем user_controller я использую это:
def make_json(node, string = "")
node[1].each do |n|
string += node[0] + "{'color':'green','shape':'dot','label':'You'},"
return make_json(n, string )
end
return string + node[0] + "{'color':'green','shape':'dot','label':'You'}"
end
И, наконец, это:
@data = {}
@data['nodes'] = make_json(@user_tree[0]).to_json
@data['edges'] = {}
Я пытался использовать метод замены, но переменная данных, похоже, не является строкой, поэтому я не могу просто заменить кавычки.Буду признателен за любую помощь.
Спасибо!