ios – JSON错误:

我在解析我的
JSON时遇到了麻烦.
JSON是:

{"privatecode":"XDhUZQ1rA2gBZwshV2NrZQRnDmVPZQhuVj7WOlNrC29SPwg6VDUGelU1DahQNlc1AWpcPVBuWmc"}

我正在使用以下代码:

id parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&localError];

parsedObject的类是NSDictionary,但它包含以下错误:

(<invalid>) [0] = <error: expected ']'
error: 1 errors parsing expression
>

我当然可以说:

NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&localError];

但这没什么区别.我只想将私有代码作为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是Dictionary(以'{‘开头).真奇怪.我搜索并得到了这个.检查一下:

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.
}
点赞