php json_encode возврат пустого указателя

Array
(
    [sEcho] => 1
    [iTotalRecords] => 7521
    [iTotalDisplayRecords] => 1
    [aaData] => Array
        (
            [0] => Array
                (
                    [0] => Nordic Capital Buys SiC Processing
                    [1] => 2010-06-21/nordic-capital-buys-sic-processing
                    [2] => PEHub Media
                    [3] => Business
                    [4] => completed
                    [5] => Nordic Capital has acquired a 70% stake in SiC Processing AG, a German industrial recycling company, from Frog Capital. No sale price was disclosed.  SiC Processing’s founding family retains a 25% holding, while former lead investor Zouk Ventures retains a 5% stake.

                    [6] => Admin, China, Frog Capital, Germany, Italy, Iyad Omari, Manufacturing, Norway, PEHub Media, Photovoltaic Wafer Manufacturing, Renewable Energy, Semiconductor, United States
                )

        )

)

echo json_encode($myArr);

{"sEcho": "1", "iTotalRecords":7521, "iTotalDisplayRecords": "1", "aaData": [[" Nordic Capital Покупает SiC, Обрабатывающий </a> </отделение>"", 2010-06-21/nordic-capital-buys-sic-processing </отделение>", "PEHub Media", "Бизнес", "завершенный", пустой указатель", Администратор, Китай, Frog Capital, Германия, Италия, Iyad Omari, Производство, Норвегия, PEHub Media, Фотоэлектрическое Производство Пластины, Возобновляемая энергия, Полупроводник, Соединенные Штаты]]}

Отметьте пустой указатель посреди строки, после того, как завершено

Почему это, какой Escape/управление я должен выполнить для кодирования этого?

Я попробовал, addslashes

8
задан devios1 14 September 2012 в 21:07
поделиться

4 ответа

Из руководства:

Обратите внимание, что если вы попытаетесь закодировать массив, содержащий значения, отличные от UTF, вы получите нулевые значения в результирующая строка JSON. Вы можете пакетное кодирование всех элементов массив с функцией array_map:

$encodedArray = array_map(utf8_encode, $myArr);
echo json_encode($encodedArray);
24
ответ дан 5 December 2019 в 06:09
поделиться

Я только что попробовал тот же самый код, и он вернул следующее:

{"var1":"test string","var2":"Nordic Capital has acquired a 70% stake in SiC Processing AG, a German industrial recycling company, from Frog Capital. No sale price was disclosed.  SiC Processing\u2019s founding family retains a 25% holding, while former lead investor Zouk Ventures retains a 5% stake.","var3":"test string 3"}

Какую версию PHP вы используете? И это с вашего локального хоста, или вы запускаете это на удаленном компьютере?

1
ответ дан 5 December 2019 в 06:09
поделиться

На самом деле он не возвращает null, http://codepad.org/A34KdUf5.

Возможно, ваша версия PHP не поддерживает json_encode().

1
ответ дан 5 December 2019 в 06:09
поделиться

Работает для меня на 5.2.13. Убедитесь, что вы используете по крайней мере PHP 5.2.0 и что PHP не был скомпилирован с помощью --disable-json. Вы также можете проверить, включены ли отчеты об ошибках (и/или ведение журнала).

1
ответ дан 5 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: