Bu davranış aslında AMFPHP hizmeti tarayıcı (bug) mevcut, bu yüzden int sayı lideri dizeleri dönüştüren AMFPHP olarak hata yapmak kolaydır. Ancak sorun gönderen kodu bulunmaktadır. Json ağ geçidi üzerinden bir urlencoded dizesini göndererek Örneğin (Objective C kodu) düzgün çalışır:
NSString *theUrl = [[NSString alloc] initWithFormat:@"%@/modules/amfphp/amfphp/json.php/MysqlRemoting.checkAuth/%@/%@/1", kServerBaseUrl, userName, passMD5];
NSString *encodedUrl = [theUrl stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
PassMD5 lider bir numara olabilir nerede. Ben hizmet tarayıcıda checkAuth yöntemi için uygun değerleri girin Ama eğer bozuldu.
[Değiştir]
$value = urldecode($value);
if($value != "") {
if($value[0] != '[' && $value[0] != '{' && $value != "null" && $value != "false" && $value != "true") {
$hasAlpha = false;
//check to see if it is a number
$sl = strlen($value);
for ($i = 0; $i < $sl; $i++) {
$char1 = ord($value[$i]);
if($char1 >= 0x30 && $char1 <= 0x39) {
//Then this is a number
} else { //Else leave value as is */
$hasAlpha = true;
}
}
if (!$hasAlpha) $value = json_decode($value, true);
}
else
{
$value = json_decode($value, true);
}
}