2013-11-07 8 views
0

Я преобразовываю массив Ruby в JSON, сохраняя в MySQL и затем загружая в KnockoutJS. Проблема в том, что массив остается строкой JSON, и я не могу ее перебирать.Ruby array to KnockoutJS Object

tags = `/usr/bin/svn ls #{svn_repo_url}`.split("/\n") 

puts tags.inspect 
["1.0.0", "1.0.1", "1.0.10", "1.0.11", "1.0.12", "1.0.13", "1.0.14", "1.0.15", "1.0.16", "1.0.2", "1.0.3", "1.0.4", "1.0.5", "1.0.6", "1.0.7", "1.0.8", "1.0.9"] 

puts tags.to_json 
["1.0.0","1.0.1","1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.16","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"] 

Это сохранялось MySQL, а затем загружается в KnockoutJS, но он остается в виде строки, поэтому я не могу перебрать в цикле Еогеасп.

Я пытался сделать ko.mapping.toJS(myString) и ko.toJSON(myString), но до сих пор не имея удачи и не в состоянии преобразовать в фактический массив или объект, я могу перебирать над

Что я делаю неправильно здесь?

Спасибо

UPDATE: решаемые с eval(myString)

+0

Если вы можете, не используйте eval, используйте JSON.parse, поскольку sporkydorky сказал: http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad -idea – pax162

+0

@ pax162: я пробовал это, но он бросает сообщение: Неожиданный конец ввода – solefald

+0

Вы уверены, что строка действительна JSON? Вы обертываете его в правильные кавычки? – pax162

ответ

1

Перед итерация массива, вы можете использовать JSON.parse (массив), чтобы преобразовать его в массив JavaScript.