Jquery 1.4 обновил свой анализатор JSON, чтобы он больше не принимал недопустимый JSON, как раньше. Ваш сервер выводит недопустимый JSON, который ранее был допущен, но больше не разрешен. Это изменение было упомянуто (кратко) в заметках о выпуске и в документации , и было много обсуждений о it если вы гуглите "jquery 1.4 JSON"
Но чтобы подвести итог: ключи в JSON, чтобы быть действительными, должны иметь кавычки, строка не должна быть заключена в эти скобки, и ничто не может использовать одинарные кавычки в качестве разделителей, поэтому ваш JSON должен быть :
{"count": 5, "success": true, "error": "", "cache": false, "data": [{"column": ["Mike","Mike","Steve","Steve","Steve"]}]}
или, более наглядно:
{
"count": 5,
"success": true,
"error": "",
"cache": false,
"data": [
{
"column": [
"Mike",
"Mike",
"Steve",
"Steve",
"Steve"
]
}
]
}
Характеристики очень красиво и четко изложены в http://www.json.org/ с изображениями и диаграммами. Вы также можете проверить свой JSON на JSONLint - вышеприведенный JSON прекрасно работает, но ваш исходный JSON вызывает все виды ошибок.
Что касается того, что вам нужно сделать: если у вас есть возможность изменить то, что отправляет ваш сервер, сделайте это - сделайте так, чтобы он выводил допустимый JSON. Пожалуйста. Только , если вы не можете изменить поведение сервера, вам придется использовать обходной путь из одного из постов, указанных выше, или использовать другую библиотеку JSON.
Общий принцип: во всех случаях делать все правильно и торговать; предпочтительнее - исправление выходных данных сервера (даже если это ошибка на внешнем сервере / API) - это долгосрочное решение, но оно может быть не совсем практичным. Поэтому иногда нужны хакерские обходные пути, но не оптимальные.