Ну вроде как у JSON такой формат:
{"var1":"val1", "var2":"val2"}
а у массива такой:
['val1', 'val2']
??
И для того что бы получить из строки в формате JSON надо скобочки в eval ставить:
str = eval('({"var1":"val1", "var2":"val2"})');
а для массива не надо:
arr = eval('["val1", "val2"]');
Или я чего то не догоняю в этих форматах ?)))