как получить данные JSON из почтового запроса iphone - PullRequest
0 голосов
/ 07 сентября 2010

Я разрабатываю приложение для iPhone с использованием JSON Framework, я вызываю 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 для обновления добаза данных?

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

Ответы [ 3 ]

1 голос
/ 07 сентября 2010

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

<?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.

1 голос
/ 07 сентября 2010

Я не делал этого с 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

0 голосов
/ 07 сентября 2010

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

<?php print_r($_POST); ?>

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

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

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

<?php print_r($phpObj); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...