我正在使用我的网站 url 中的查询字符串从 MySQL 数据库中读取数据。
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 文件应有的样子。
在此之后,我想读取 Objective C (xcode) 中的 JSON 值。
我尝试从 Objective C 中的 JSOn 读取该值,如下所示:
- (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"}]
我将 Objective C 代码中的 URL 更改为www.test.com/test.json
,然后我的 Objective C 代码读取该值...... .
因此,当我创建一个 .JSON 文件时,我的 Objective C 代码会读取数据。但是当我想直接从 PHP 文件中读取数据时,我的 Objective C 代码不会读取数据。
有人可以帮助我,或者解释一下为什么这段代码不能从 PHP 文件中读取吗?我也在 PHP 文件中对 JSON 进行编码。
提前致谢。