Intereting Posts
Локатор сервисов, Инъекция зависимостей (и контейнера) и инверсия управления Как создать общую папку между Homestead и моей локальной машиной PHP / curl: namelookup_time / dns замедляет запросы Форма контакта 7: использовать крючок, созданный с использованием wpcf7_before_send_mail только для одной формы контакта по идентификатору PHP: Таргетирование конкретного массива JSON и добавление POST-данных правильно? MVC Design. Сколько контроллеров может / должно / должно быть иметь в проекте веб-приложения CodeIgniter MVC? Доступ запрещен для пользователя 'speedycm_root' @ 'localhost' для базы данных 'speedycms' Zend_Db: Как подключиться к базе данных MySQL через туннель SSH? Как проверить работу CRON с PHP? Защищенные от PHP классы и свойства, защищенные от кого? Иногда PHP-сеанс теряется при использовании session_regenerate_id SEO / PHP: как конвертировать URL-адрес формы (Get-Method) без Javascript SEO-Friendly? Экспорт в CSV через PHP Как настроить работу cron в cpanel Laravel и AJAX спорадические ошибки 401 в опролле

Числа в кавычках с использованием json_encode ()

Различные сторонние компании вынуждают нас использовать нестандартный код и производить нестандартный выпуск.

Мы используем стандартный json_encode() для вывода JSON-переменной в JS / HTML, которая выглядит так:

 "custom":{"1":2,"2":7,"3":5} 

Теперь они говорят нам, что это не работает для них, они нуждаются в этом так:

 "custom":{"1":"2","2":"7","3":"5"} 

Могу ли я заставить PHP обернуть кавычки arround номерами? Может быть, использовать cast (string) когда мы создаем объект перед кодированием?

В основном, нам нужна противоположная опция bitflag:

JSON_NUMERIC_CHECK (integer)

 Encodes numeric strings as numbers. Available since PHP 5.3.3. 

Но я сомневаюсь, что это существует.

Solutions Collecting From Web of "Числа в кавычках с использованием json_encode ()"

Полагаю, вам нужно исправить это самостоятельно. Я не могу придумать встроенную функцию, но вы можете написать свой собственный:

 function stringify_numbers($obj) { foreach($obj as &$item) if(is_object($item) || is_array($item)) $item = stringify_numbers($item); // recurse! if(is_numeric($item) $item = (string)$item; return $obj; } 

Теперь вы можете использовать json_encode(stringify_numbers($yourObject))

Кажется, что использование свойств (string) работает.

 $custom = array( '1' => (string)$property, // ... ); 

Если вы создаете данные из массива, вы можете использовать

 array_map('strval', $data); 

// upd

вероятно, вам нужно назвать его рекурсивным.