Objective-C-> JSON-> PHP Array
Я боролся с этим в течение последних нескольких дней; Я пытаюсь опубликовать массив в PHP. Я могу успешно отправить его, но он не принимается с пост-переменной (я пытаюсь использовать ключ переменной "json" ... С помощью этого кода я получаю массив в php:
Objective-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";
}
Если я использую этот PHP, используя _POST, я не получаю любви:
$rawJsonData = $_POST['json'];
$array = json_decode(stripslashes($rawJsonData),true);
echo $array;
if(isset($array))
{
echo "success";
}
else
{
echo "failure";
}
... Я занимался этим несколько дней - по всему переполнению стека, и понимаю, что мне нужно включить переменную и данные в тело запроса, но я просто не могу заставить его работать. Что я делаю неправильно? Как вы относитесь к этому по-другому? Спаси меня от этой головной боли ...