我有这个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];
我该怎么做?
答案 0 :(得分:10)
如果你能负担得起iOS 5,你应该试试NSJSONSerialization。
您的代码可能如下所示,但我建议您首先阅读文档。
NSArray* jsonArray = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:someError]
答案 1 :(得分:3)
这个JSON应该产生一个词典
NSDictionary *jsonDict = [responseString JSONValue];
然后使用:
[jsonDict objectForKey:@"d"];
答案 2 :(得分:1)
尝试使用适用于iOS的SBJasonParser库。
然后您可以使用此代码(适用于所有iOS版本):
SBJsonParser* parser = [[[SBJsonParser alloc] init] autorelease];
NSDictionary* myDict = [parser objectWithString: responseString];
注意:您上面的代码有一个JSON字典,但您尝试将其作为数组访问。