Web services 获取<;空>;尝试解析JSON响应时

Web services 获取<;空>;尝试解析JSON响应时,web-services,ios,json,Web Services,Ios,Json,当试图在UILabel或控制台上显示字符串时,我在获取时遇到问题,以下是我的代码: NSArray *array=[[request responseString]JSONValue]; for (int i=0; i<[array count]; i++) { NSDictionary *stationEnCours=[array objectAtIndex:i]; NSLog(@"%@",[stationEnCours objectForKey:@"ssiphone_adresse"]

当试图在UILabel或控制台上显示
字符串时,我在获取
时遇到问题,以下是我的代码:

NSArray *array=[[request responseString]JSONValue];
for (int i=0; i<[array count]; i++) {
NSDictionary *stationEnCours=[array objectAtIndex:i];
NSLog(@"%@",[stationEnCours objectForKey:@"ssiphone_adresse"]);
}
topStation.sstationAdress=[stationEnCours objectForKey:@"ssiphone_adresse"]; //global variable
adresseStation.text=[NSString stringWithFormat:@"%@",topStation.sstationAdress];//display on label
编辑:

响应在服务器端编码如下:

 $stationsFinales=array();
           $stationsFinales=$this->EpurationStations($stationsIdeales);

           sendResponse(200,json_encode($stationsFinales));
           return true;

我不太了解JSON,但当我在应用程序中使用它时,我通过使用
valueForKey:
而不是
objectForKey:
解决了这样一个问题,并尝试使用以下代码:

NSArray *array = [[request responseString] JSONValue];

for (int i = 0; i < [array count]; i++) {
    NSDictionary *stationEnCours = [array objectAtIndex:i];
    NSLog(@"%@", [stationEnCours valueForKey:@"ssiphone_adresse"]);
    topStation.sstationAdress = [stationEnCours valueForKey:@"ssiphone_adresse"];
}

adresseStation.text = [NSString stringWithFormat:@"%@", topStation.sstationAdress];
NSArray*array=[[request-responseString]JSONValue];
对于(int i=0;i<[数组计数];i++){
NSDictionary*StationCours=[array objectAtIndex:i];
NSLog(@“%@,[StationCoursValueForkey:@“ssiphone_address]”);
topStation.ssStationAddress=[StationCoursValueForkey:@“ssiphone_address”];
}
AddressStation.text=[NSString stringWithFormat:@“%@”,topStation.ssStationAddress];
把这个答案看作是一个测试,因为正如我之前所说的,我对JSON不太了解。

不过,我希望这能帮助你喜欢我

我不太了解JSON,但当我在应用程序中使用它时,我通过使用
valueForKey:
而不是
objectForKey:
解决了这样一个问题,并尝试使用以下代码:

NSArray *array = [[request responseString] JSONValue];

for (int i = 0; i < [array count]; i++) {
    NSDictionary *stationEnCours = [array objectAtIndex:i];
    NSLog(@"%@", [stationEnCours valueForKey:@"ssiphone_adresse"]);
    topStation.sstationAdress = [stationEnCours valueForKey:@"ssiphone_adresse"];
}

adresseStation.text = [NSString stringWithFormat:@"%@", topStation.sstationAdress];
NSArray*array=[[request-responseString]JSONValue];
对于(int i=0;i<[数组计数];i++){
NSDictionary*StationCours=[array objectAtIndex:i];
NSLog(@“%@,[StationCoursValueForkey:@“ssiphone_address]”);
topStation.ssStationAddress=[StationCoursValueForkey:@“ssiphone_address”];
}
AddressStation.text=[NSString stringWithFormat:@“%@”,topStation.ssStationAddress];
把这个答案看作是一个测试,因为正如我之前所说的,我对JSON不太了解。

不过,我希望这能帮助你喜欢我

如何在web服务中生成json字符串?该代码在您的控制下吗?responseString包含
null
。这是在JSON解析器(在iOS设备上)将字符串解析为对象之前。签入数据库或生成JSON响应的服务器代码?是PHP吗?我不知道在PHP中如何在发送之前检查响应,但您应该首先验证响应,如果没有问题,那么问题可能在于requestString是如何设置的。很抱歉,我不熟悉PHP,也不知道您使用的是哪种db,但大多数db都允许“nullable”字段,所以即使类型是“string”,也可以是“null”(意味着没有提供值)。您可能想用PHP和MySQL(?)标记问一个新问题,以获得更好的答案。但我认为您在db中看到了这些字段的值?如何在web服务中生成json字符串?该代码在您的控制下吗?responseString包含
null
。这在json解析器之前(在iOS设备上)将字符串解析为对象。在数据库或生成json响应的服务器代码中进行检查?是PHP吗?我不知道在PHP中如何在发送之前检查响应,但您应该首先在那里进行验证,如果可以,那么问题可能出在requestString的设置上。很抱歉,我不熟悉PHP,也不熟悉了解您使用的数据库类型,但大多数数据库都允许“null”字段,因此即使类型为“string”,也可以为“null”(表示未提供任何值)。您可能想问一个关于PHP和MySQL的新问题(?)标记以获得更好的答案。但我以为您在db中看到了这些字段的值?您好,答案是thx,但是没有任何更改,解析时总是生成
:)好的,我很抱歉…但是你为什么不使用数组和JSONValue,而使用框架呢?也许我用valueForKey解决了:因为我使用Stig Brautaset的JSON框架…();)嗨,谢谢你的回答,但是没有任何更改,解析时总是生成
。)好的,我很抱歉。。。但是,与其先使用数组,然后使用JSONValue,为什么不使用框架呢?也许我用valueForKey解决了这个问题:因为我使用的是Stig Brautaset的JSON框架。。。() ;)