jsonを生成する時に単純に
$json = json_encode($str);
としていないだろうか。単なる数値だけならこれでよいが、例えば、
$str[1] = "G'men '75";
$str[2] = '\2,800';
$str[3] = 'my name is "john"';
というような文字列をエンコードしてjavascriptに渡すとエラーになる。
$json = json_encode($str, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS );
$json = str_replace('\\', '\\\\', $json);
とするのがよい。