Objective-C-> JSON-> PHP Array
Eu tenho lutado com isso nos últimos dias; Eu estou tentando postar uma matriz para o PHP. Eu posso enviá-lo com sucesso, mas não é levado com uma variável de pós (eu estou tentando usar a chave variável "json" ... Com este código, recebo o array em php:
Objetivo-C
NSError *error;
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects: @"one", @"two", @"three", nil] forKeys: [NSArray arrayWithObjects: @"a", @"b", @"c", nil]];
NSArray *jsonArray = [NSArray arrayWithObject:jsonDictionary];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonArray options:NSUTF8StringEncoding error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"somewebservicelocation/arrayTest.php?json="]];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *response = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"response: %@",response);
PHP
$handle = fopen('php://input','r');
$array = fgets($handle);
echo $array;
if(isset($array))
{
echo "success";
}
else
{
echo "failure";
}
Se eu usar esse PHP, usando _POST, não recebo nenhum amor:
$rawJsonData = $_POST['json'];
$array = json_decode(stripslashes($rawJsonData),true);
echo $array;
if(isset($array))
{
echo "success";
}
else
{
echo "failure";
}
... Eu estive nisso por vários dias - em todo o Stack Overflow, e entendo que preciso incluir a variável e os dados no corpo da solicitação, mas não consigo fazer com que ela funcione. O que estou fazendo de errado? Como você faz isso de maneira diferente? Salve-me desta dor de cabeça ...