Dziwne zachowanie parsowania JSON w js, „Nieoczekiwany token:”
Jak pokazano wto jsfiddleJeśli masz plik JS i tworzysz obiekt JSON bez użycia go, zachowuje się on inaczej w zależności od tego, czy klucze (elementy) są opakowane w cudzysłów, czy nie.
prawidłowy kod:{ a: 1};
zły kod:{ "a": 1 };
Otrzymasz komunikat o błędzie (w Chrome, inny dla FF / IE, ale nadal nie działa w składni)
Nieprzechwycony SyntaxError: Nieoczekiwany token:
ale jeśli używasz obiektu w jakiś sposób, na przykład:alert({ "a": 1 });
wszystko znowu jest OK.
Dlaczego to się dzieje?