Ios JSON错误:<;错误:应为';]';错误:1解析表达式时出错>;

Ios JSON错误:<;错误:应为';]';错误:1解析表达式时出错>;,ios,objective-c,json,Ios,Objective C,Json,我在解析JSON时遇到问题。JSON是: {"privatecode":"XDhUZQ1rA2gBZwshV2NrZQRnDmVPZQhuVj7WOlNrC29SPwg6VDUGelU1DahQNlc1AWpcPVBuWmc"} 我正在使用以下代码: id parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&localError]; parsedObject的类是NSDictiona

我在解析JSON时遇到问题。JSON是:

{"privatecode":"XDhUZQ1rA2gBZwshV2NrZQRnDmVPZQhuVj7WOlNrC29SPwg6VDUGelU1DahQNlc1AWpcPVBuWmc"}
我正在使用以下代码:

id parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&localError];
parsedObject
的类是
NSDictionary
,但它包含以下错误:

(<invalid>) [0] = <error: expected ']'
error: 1 errors parsing expression
>
但这没什么区别。我只想将
privatecode
作为
NSString
对象获取,那么我做错了什么,如何解决这个问题

非常感谢

编辑:我正在使用的更多代码:

NSLog(@"Response: %@", [request responseString]);
id parsedObject = [NSJSONSerialization JSONObjectWithData:[request responseData] options:0 error:&localError];
请求的类型为
ASIHTTPRequest
。日志的输出为:

Response: {"privatecode":"XDhUZQ1rA2gBZwshV2NrZQRnDmVPZQhuVj7WOlNrC29SPwg6VDUGelU1DahQNlc1AWpcPVBuWmc"}
使用以下命令:

NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&localError];
我使用这个为我的项目没有任何问题。希望这有帮助。:)

编辑:

从您的错误来看,它似乎是一个数组(数组以“[”)开头)。但您发布的JSON是字典(以“{”)开头。这很奇怪。我搜索并得到了这个。请检查:

if ([returnedFromWeb respondsToSelector:@selector(objectAtIndex:)]) { // you can replace respondsToSelector:@selector(objectAtIndex:) by isKindOfClass:[NSArray class]
  //it's an array do array things.
} else {
  //it's a dictionary do dictionary things.
}

这对我来说很有效,我得到了与你相同的错误,但我的响应是数组。因为看起来你需要一个字典,所以我将包括可能的结果

    id test = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:error];
    NSArray *array;
    NSDictionary *dictionary;
    if ([test isKindOfClass:[NSArray class]]) { 
        //it's an array do array things.
        array = [NSArray arrayWithArray:test];
    } else {
        //it's a dictionary do dictionary things.
        dictionary = [NSDictionary dictionaryWithDictionary:test];
    }
此时,您应该能够访问数组或字典的内容

简化:

NSArray *array = [NSArray arrayWithArray:[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:error]];


我尝试了你的json和代码,效果很好。我认为你使用的是其他json,而不是提供的json。debugger variables视图有时会出现问题。最好在代码中记录dict,或者在调试器控制台中使用
po
。@martiner你说得太对了!它解析时没有问题,但在调试模式下仍然会出现错误。谢谢!你有什么错误你现在明白了吗?@tomWebdev看到我编辑的答案没有意义,你检查过针织品的价值吗?
NSArray *array = [NSArray arrayWithArray:[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:error]];
NSDictionary *dictionary = [NSDictionary dictionaryWithDictionary:[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:error]];