#json #decode
#json #декодирование
Вопрос:
Хо-хо-хо, я не могу декодировать ответ из php.
Файл Json:
{
"tableWidth":80,
"thColor": "51, 157, 221"
}
Это моя потрясающая функция php:
public function lg_getJsonSettings(){
$file = file_get_contents("settings.json",true);
$file = json_encode($file);
echo $file;
}
И JavaScript:
function lg_veriflyChanges(){
result = $.getJSON("/Controller/lg_getJsonSettings");
console.log(result);
}
По щелчку я вызываю функцию JS. После того, как я получу ответ, firebug поговорит со мной 🙂 И что он говорит? «Жу-жу-жу» 🙂
Серьезно:
Я пытаюсь использовать JSON.parse(результат) и $.parseJSON, но это не сработало.
Ошибка » JSON.parse: неожиданный символ в строке 1″
Я надеюсь, вы поможете.
Ответ №1:
Ваш JSON
действителен, но я сомневаюсь, что использование getJSON
не работает таким образом.
Итак, как следует из документации jQuery.getJSON(), вам следует использовать getJSON
такой метод ,
$.getJSON( "/Controller/lg_getJsonSettings", function(json) {
console.log(result);
});
Надеюсь, это поможет.
И, кроме того, using $.getJSON("/Controller/lg_getJsonSettings");
возвращает состояние AJAX, которое является недопустимым JSON,
{
readyState: 1
}
Что вызывает проблему
Синтаксическая ошибка: JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON
Комментарии:
1. Я пробую этот метод. Но я не могу получить свойство через . или [«]
2. я не уловил ваших изменений в ответе. просто я забыл удалить переменную (во многих попытках), и я подумал, что $.parseJSON делает это независимо.