PHP JSON кодировать - PullRequest
       7

PHP JSON кодировать

1 голос
/ 22 мая 2010

Эти выходные данные получены из php json_encode. То, что мы видим здесь, это то, что 0849 - это дважды. Так как javascript использует sn только для получения значения, для чего нам нужно значение «0». Основная проблема - скорость выполнения. Если данные 800 кб могут быть уменьшены до 400 кб

{"success":"true","total":968,"data":[{"0":"0849","sn":"0849" }]

Если нет решения, я должен сделать скрипт для фильтрации в json_encode, поэтому не нужно дважды преобразователь данных.

1 Ответ

4 голосов
/ 22 мая 2010

Запись 0, потому что ваш массив содержит запись 0! Я собираюсь догадаться, что вы извлекаете его из базы данных, используя что-то вроде mysql_fetch_array; в этом случае вы можете просто перейти на использование mysql_fetch_assoc (которое возвращает прямой ассоциативный массив) или путем передачи MYSQL_ASSOC в качестве второго аргумента mysql_fetch_array. Если вы используете другие источники БД, аналогичные функции существуют.

Если он не поступает из базы данных (или вам нужны числовые ключи в другом месте), вы всегда можете отфильтровать числовые значения. Вы можете сделать это, соединив несколько функций array_ * вместе или просто с помощью цикла foreach:

foreach ($data as $k => $v) { if (is_int($k)) { unset($data[$k]); } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...