Декодирование JSON (jQuery, JavaScript и немного PHP)

#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 делает это независимо.