Обработка больших идентификаторов пользователей, возвращенных FQL в PHP

Я использую FQL для получения списка пользователей с Facebook. Для непротиворечивости я получаю результат как JSON. Это вызывает проблему - так как возвращенный JSON кодирует идентификаторы пользователей числами, json_decode () преобразовывает эти числа в значения с плавающей точкой, потому что некоторые являются слишком большими для помещений в интервал; конечно, мне нужны эти идентификаторы как строки.

С тех пор json_decode () делает его собственную вещь, не принимая флагов поведения, я в замешательстве. Какие-либо предложения о том, как разрешить это?

19
задан ggambett 27 May 2010 в 14:55
поделиться

2 ответа

json_decode () может преобразовывать большие целые числа в строки, если вы укажете флаг в вызове функции:

$array = json_decode($json, true, 512, JSON_BIGINT_AS_STRING)
28
ответ дан 30 November 2019 в 02:09
поделиться

Быстро и грязно, вроде пока работает :

$sJSON = preg_replace('/:(\d+)/', ':"${1}"', $sJSON);
5
ответ дан 30 November 2019 в 02:09
поделиться
Другие вопросы по тегам:

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