私はWAMP環境でphp 5.2.6を使用しています。PHP json_decodeを使い果たして、非常に大きな整数値を変更しないようにするには?
json_decode関数を使用してjson文字列を配列にしようとしています。 JSONは他の場所でREST APIから取得しているため、JSON文字列の書式設定を制御することはできません。ここでは、使用しようとしているjson文字列の例を示します。
[{
"webinarKey":795855906,
"sessionKey":100000000041808257,
"startTime":"2011-12-16T13:56:15Z",
"endTime":"2011-12-16T14:48:37Z",
"registrantsAttended":2
}]
ここでは特にsessionKey値の後です。 PHPはその値を浮動小数点として扱い、元の値を取得するために何もしないように見えます。
json_decode($json, true, 512, JSON_BIGINT_AS_STRING);
# This produces the following error because my php version isn't up to snuff and I
# can't upgrade to the version required
# Warning: json_decode() expects at most 2 parameters, 4 given
は、私もこれを試してみた:
は、私は、次の試した私が言ったように5.4をPHPへのアップグレード、
$json_obj = json_decode($json, true);
number_format($json_obj[0]["sessionKey"], 0, '.', '');
# This results in precision issues where the value was 100000000041808257
# but is number_formated out as 100000000041808256
(4パラメータjson_decodeコールがサポートされている場合)オプションではありません。助けてください!
ありがとうございます!
ここにはどこかに重複があると思いますが、それは検索する価値があるかもしれません –
あなたはこの質問を見るかもしれません。 JSONが返された後、デコードされる前に、ソリューションをリストアップした人がいました。 http://stackoverflow.com/q/2907806/2863 –