Я узнал (трудный путь), что мне нужно добавить круглые скобки вокруг данных JSON, например:
stuff = eval('(' + data_from_the_wire + ')');
// where data_from_the_wire was, for example {"text": "hello"}
(В Firefox 3, по крайней мере).
В чем причина этого? Я ненавижу писать код, не понимая, что за капотом.