4

我有一个 JSON 字符串,其中包含一些具有以下值的键:123.00。当我使用 json_decode 函数时,我得到了前一个键等于 123,而不是 123.00 的解码字符串。有没有办法纠正解码这些值而不用引号括起来?

4

5 回答 5

7

这是目前作为 PHP 错误提出的:

错误报告https ://bugs.php.net/bug.php?id=50224

将来,可能会有通过options参数传递标志以进行更严格输入的功能。然而,现在,用引号括起来就足够了。

于 2012-09-21T13:51:22.820 回答
1

我不认为这是可能的!

于 2012-09-21T13:52:23.617 回答
1
//convert the json to a string before json_decode
$res = preg_replace( '/next_cursor":(\d+)/', 'next_cursor":"\1"', $json );
于 2012-09-21T14:15:49.097 回答
0
number_format($number, 2) 

通过那个输出数字?

于 2012-09-21T13:51:38.977 回答
0

您可以使用该JSON_BIGINT_AS_STRING选项,例如:

$json = json_decode($input, true, 512, JSON_BIGINT_AS_STRING);

不过要小心,这只适用于 PHP 5.4+!

于 2014-11-28T12:59:51.437 回答