从JSON字符串获取值 – Objective C

我有这个JSON响应字符串:

{"d":"{\"ID_usuario\":\"000130\",\"Nombre\":null,\"Vipxlo\":0,\"Provmun\":null,\"Descuentos\":null,\"Listaviplocal\":null}"}` 

使用此代码:

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection { //Check valid signal connection = nil; NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; //data =nil; NSArray *jsonArray = [responseString JSONValue]; 

我该怎么做?

这个JSON应该导致一个Dictionary

 NSDictionary *jsonDict = [responseString JSONValue]; 

然后使用:

 [jsonDict objectForKey:@"d"]; 

如果你能负担得起iOS 5,你应该尝试NSJSONSerialization 。

您的代码可能如下所示,但我建议您首先阅读文档。

  NSArray* jsonArray = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:someError] 

尝试使用适用于iOS的SBJasonParser库。

然后,您可以使用此代码(适用于所有iOS版本):

 SBJsonParser* parser = [[[SBJsonParser alloc] init] autorelease]; NSDictionary* myDict = [parser objectWithString: responseString]; 

注意:上面的代码有一个JSON字典,但您尝试将其作为数组访问。