2013-10-14 2 views
0

Я читаю данные из базы данных MySQL с помощью строки запроса на моем веб-сайте url.Чтение данных из json_encode (php) в Objective C

Example: www.test.com/user.php?username=mike 

Я прочитал данные из базы данных, которая принадлежит к имени пользователя (в этом примере: mike).

Это мой PHP-файл, который делает что:

$result=mysql_query("SELECT LOWER(username) AS username FROM user WHERE username = '$username'"); 

$rows = array(); 

while($row = mysql_fetch_assoc($result)){ 
    $rows[] = $row; 
} 

echo json_encode($rows); 

Этот PHP возвращает файл:

[{"username":"mike"}] 

Данные, которые были считаны правильно показывает, как, как JSON-файл должен быть.

Afer this, я хочу прочитать значение JSON в Objective C (xcode).

Я пытаюсь прочитать это значение из JSON в Objective C, как показано ниже:

- (void) loadJsonData 
{ 

NSString *stringLink = [NSString stringWithFormat:@"http://www.test.com/user.php?username=%@", self.txtUsername.text]; 
NSURL *url = [NSURL URLWithString: stringLink]; 

    [AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObject:@"application/x-javascript"]]; 

    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request  success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 

     [self parseJSONData:JSON]; 


    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { 
     NSLog(@"Error :%@",response); 
    }]; 

    [operation start]; 
} 

-(void) parseJSONData:(id) JSON 
{ 
    [self.loginArray removeAllObjects]; 

    if(JSON != NULL) 
    { 
     for (NSDictionary* dict in JSON) { 

      User *user = [[User alloc] init]; 

      user.username = [dict objectForKey:@"username"]; 

      [self.loginArray addObject:user]; 
     } 
    } 
} 

Но этот код не считывается значение из JSON.

Но когда я создаю файл .JSON (я называю это «test.json»), и я сохранить эти данные в этот файл: [{"username":"mike"}] и изменить URL в объектный код C до www.test.com/test.json, то моя цель кода C читает значение ....

Итак, когда я создаю файл .JSON, мой код Objective C считывает данные. Но когда я хочу читать непосредственно из файла PHP, мой код Objective C не считывает данные.

Может кто-нибудь помочь мне или объяснить, почему этот код не читается из файла PHP? Я также кодирую JSON в файле PHP.

Заранее спасибо.

ответ

0

У меня была одна и та же проблема, и выяснилось, что мой PHP не возвращал кодировку JSON, кодированную UTF8. Может быть, это и ваша проблема?

+0

Когда я изменяю атрибут базы данных «имя пользователя» от латинского до UTF8, тогда PHP ничего не возвращает ... – Swag

Смежные вопросы