как получить данные json из запроса на отправку iphone

Я разрабатываю приложение iPhone с использованием инфраструктуры JSON, я вызываю PHP-скрипт для обновления базы данных MySQL на локальном сервере. Используя этот код:

NSString *jsonString = [sendData JSONRepresentation]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; NSString*post = [NSString stringWithFormat:@"&json=%@", jsonString]; NSData*postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO]; [request setURL:[NSURL URLWithString:@"http://localhost:8888/update.php"]]; [request setHTTPMethod:@"POST"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; [request setHTTPBody:postData]; 

Я бы хотел спросить:

Что такое PHP-скрипт для получения данных из этого запроса и как я могу декодировать данные JSON для объекта PHP для обновления базы данных?

Любая помощь будет оценена по достоинству.

Related of "как получить данные json из запроса на отправку iphone"

Вы найдете свои данные в переменной $ _POST ['json'], вы можете посмотреть, что вы получили через POST, используя:

 <?php print_r($_POST); ?> 

Как только вы определили, где ваши данные, вы можете перейти от JSON к данным PHP, используя:

 <?php $phpObj = json_decode($_POST['json']); ?> 

Опять же, вы можете использовать print_r для просмотра структуры ваших данных:

 <?php print_r($phpObj); ?> 

Я не делал этого с iPhone, но похоже, что это будет просто:

 if(isset($_REQUEST['json']) && $_REQUEST['json']) { $jsonObj = json_decode($_REQUEST['json']); //mandatory sanitizing and verification here //PDO examples //$stmt = $db->prepare('INSERT ...'); //$stmt->execute(array($jsonObj->userId, $jsonObj->specialData)); //check statement execution } 

Больше информации:

http://php.net/json_decode

http://php.net/pdo

Вот несколько строк кода с ограниченной информацией, которую вы предоставили

 <?php // get data $rawJsonData = $_POST; $decodedData = json_decode($rawJsonData); // .. do some parsing on $decodedData .. // save data $db = new Db(); $db->insert('table', $decodedData); 

$decodedData будет массивом PHP, который вы можете обработать любым способом, а затем сохранить в db.