从JSON字符串获取值 - Objective C

时间:2012-03-18 21:27:11

标签: objective-c ios json

我有这个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];

我该怎么做?

3 个答案:

答案 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字典,但您尝试将其作为数组访问。