Intereting Posts
Поиск дней между двумя временными метками unix в php Преобразование XML с помощью XSLT в PHP Отдельное значение поля базы данных mySql, разделенное запятыми, с помощью php strtotime для преобразования даты и времени Как я могу проверить, установлен ли PEAR на моем сервере или нет? Отображение значений базы данных в соответствии с выбранным фильтром в выпадающем меню Получение фактического значения из узла PHP SimpleXML oAuth в PHP сделать запрос с двумя ногами Регулярное выражение для получения значения внутри двойных фигурных скобок "{{}}" PHP не отображает ошибки Как подключиться к MySQL с помощью php динамически создавать текстовые области с уникальными идентификаторами на основе входных данных флажка Используйте числа, начинающиеся с 0 в переменной в php PHP OSX XAMPP – команда монтирования exec Не удалось получить данные моего расписания с моего сайта. Войти через cURL wont work

искаженный JSON с PHP

Я парень .NET с довольно долгим опытом, но недавно втянутый в проект PHP, поэтому вам нужна помощь. У меня есть этот PHP-код, который подготавливает окончательный объект песни, а затем JSONify его с помощью json_encode() но я странно вижу, что в конце строки JSON добавлено добавочное значение null и я не понимаю, почему это так.

Вот мой PHP-код

 foreach($result as $item) { ++$index; $hymn->id=$item['id']; $hymn->refrain=$item['refrain']; if ($index == 1) { $hymn->stanza1=$item['stanzaText']; } if ($index == 2) { $hymn->stanza2=$item['stanzaText']; } if ($index == 3) { $hymn->stanza3=$item['stanzaText']; } if ($index == 4) { $hymn->stanza4=$item['stanzaText']; } if ($index == 5) { $hymn->stanza5=$item['stanzaText']; } if ($index == 6) { $hymn->stanza6=$item['stanzaText']; } if ($index == 7) { $hymn->stanza7=$item['stanzaText']; } if ($index == 8) { $hymn->stanza8=$item['stanzaText']; } if ($index == 9) { $hymn->stanza9=$item['stanzaText']; } if ($index == 10) { $hymn->stanza10=$item['stanzaText']; } } json_encode($hymn); 

Над кодом создается JSON с дополнительным null после окончания фигурных скобок, как показано ниже.

 { "id":"1", "refrain" : "Jesus, Jesus, how I trust Him!\nHow I\u2019ve proved Him o\u2019er and o\u2019er;\nJesus, Jesus, precious Jesus!\nOh, for grace to trust Him more!", "stanza1" : "Tis so sweet to trust in Jesus,\nJust to take Him at His Word;\nJust to rest upon His promise,\nAnd to know, \u201cThus saith the Lord!\u201d", "stanza2" : "Oh, how sweet to trust in Jesus,\nJust to trust His cleansing blood;\nAnd in simple faith to plunge me\n\u2019Neath the healing, cleansing flood!", "stanza3" : "Yes, \u2019tis sweet to trust in Jesus,\nJust from sin and self to cease;\nJust from Jesus simply taking\nLife and rest, and joy and peace.", "stanza4" : "I\u2019m so glad I learned to trust Thee,\nPrecious Jesus, Savior, Friend;\nAnd I know that Thou art with me,\nWilt be with me to the end" }null 

Пожалуйста, помогите мне понять, что я здесь делаю неправильно?

неправильно. json_encode НЕ создает этот нуль в конце, что-то еще, после этого кода. покажите нам остальную часть кода, и мы сможем определить, что это делает.

Все друзья, я прошу прощения, поскольку я должен был ответить на этот вопрос раньше, но проблема не в JSON. Это с fetchAll (). Спасибо, что проанализировали и помогли мне.