Yani bir WAMP ortamında php 5.2.6 kullanıyorum.PHP json_decode, çok büyük tamsayı değerlerimi değiştirmez mi?
Bir diziye json dizesi yapmak için json_decode işlevini kullanmaya çalışıyorum. JSON, başka bir yerde bir REST API'sından geliyor, bu yüzden JSON dizesinin biçimlendirilmesi üzerinde hiçbir kontrolüm yok.
[{
"webinarKey":795855906,
"sessionKey":100000000041808257,
"startTime":"2011-12-16T13:56:15Z",
"endTime":"2011-12-16T14:48:37Z",
"registrantsAttended":2
}]
Burada sessionKey değerden sonra özellikle değilim: İşte kullanmaya çalışıyorum json dizeleri birinin bir örnektir. PHP değeri float olarak değerlendiriyor ve orijinal değeri almak için hiçbir şey yapamam gibi görünüyor.
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
Ben de bu denedim:
Aşağıdaki denedim Dediğim gibi 5.4 php yükseltme,
$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 parametre json_decode çağrı desteklendiği) bir seçenek değil. Lütfen yardım et!
Teşekkürler!
Burada bir yerde bir kopyası var sanırım, –
aramaya değer olabilir Bu soruya bakabilirsiniz. JSON'un iade edilmesinden önce ancak çözümlenmeden önce birkaç kişi çözüm önerdi. http://stackoverflow.com/q/2907806/2863 –