ios - 将 JSONValue 中的 NSDictionary 数据解析为字符串

标签 ios json nsurlconnection

我刚刚获取数据,但当我尝试将其附加到 NSData 的字符串时,编译器出现异常错误。 我的代码是这样的:

NSDictionary *allDAtaDictionary = [NSJSONSerialization JSONObjectWithData:_webData options:0 error:nil];
NSString *jSonStatus = [allDAtaDictionary objectForKey:@"status"];
if([jSonStatus isEqualToString:@"OK"])
{
   NSDictionary *results = [allDAtaDictionary objectForKey:@"user_details"];
   NSLog(@"User Details :  %@",results);

一切正常,直到这些行开始:

NSString *userID = [results objectForKey:@"userID"];

错误输出是:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x9485a00'

这是我的 jSOn 输出,NSLog(@"User Details : %@",results);

User Details :  (
        {
        userCity = California;
        userCountry = "United States";
        userDOB = "1988-03-02";
        userDetails = "";
        userEmail = "xxx@xxx.com";
        userFBID = 715296184;
        userFullName = "John Mc Grager";
        userGender = Male;
        userID = 70;
        userLastLoginTime = "2013-05-29 10:51:27";
        userLatitude = "37.7858";
        userLongtitude = "-122.406";
        userNickName = warblader;
        userPassword = "";
        userStatus = 1;
        userToken = "";
    }
)

最佳答案

似乎 JSON 是一个包含一个字典的数组。您至少在这里向我们展示了什么。

所以

NSArray *results = [allDAtaDictionary objectForKey:@"user_details"];
NSLog(@"User Details :  %@",results);

assert(results.count>0);
NSDictionary *user = [results objectAtIndex:0];

NSString *userID = [results objectForKey:@"userID"];
NSLog(@"%@", userID);

关于ios - 将 JSONValue 中的 NSDictionary 数据解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16808366/

相关文章:

ios - 将非常大的 NSData 上传到服务器的正确方法是什么?

iOS 分段上传照片

ios - 如何获取当前在点击手势识别器上的所有触摸的列表?

ios - 哪个 UI 元素适合 iOS 应用程序中的下拉过滤器?

json - 是否有任何基于 JSON(或 YAML)的 "time sheet"或 "work log"相关格式用于记录任务所花费的时间?

json - Sencha Touch Nestedlist JSON 格式示例

json - 如何将每 n 行添加到 n 列?

iphone - 如何中止 iphone 中的异步 http 连接?

ios - 确定用户是否已启用应用程序的 Safari 内容拦截器扩展

ios - UIReferenceLibraryViewController 无法显示为弹出窗口(始终覆盖全屏)