Objective c 从目标C中的json_encode(php)读取数据
我正在使用网站url中的查询字符串从MySQL数据库读取数据Objective c 从目标C中的json_encode(php)读取数据,objective-c,json,Objective C,Json,我正在使用网站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 = m
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”}]
时,我将目标C代码中的URL更改为www.test.com/test.JSON
,然后我的目标C代码读取该值
因此,当我创建一个.JSON文件时,我的Objective C代码读取数据。
但是当我想直接从PHP文件中读取数据时,我的Objective C代码不会读取数据
有人能帮我吗,或者解释一下为什么这段代码不能从PHP文件中读取?我也在PHP文件中编码JSON
提前感谢。我曾经遇到过同样的问题,并且发现我的PHP没有返回UTF8编码的JSON。这可能也是您的问题吗?当我将数据库属性“username”从拉丁文更改为UTF8时,PHP将不返回任何内容。。。