NSDictionary objectForKey返回错误的值

时间:2013-03-01 10:27:43

标签: ios json object key nsdictionary

我正在尝试使用我从服务器获取JSON响应的字典。当我打印字典的描述时,一切都按顺序

    Printing description of dict:
{
    category = 1;
    code = 1;
    name = "xxxx";
    pictureUrl = "xxxx";
    sessionId = xxx;
    status = 0;
}

我需要“code”值,当我使用objectForKey:@“code”来获取它时,我得到一个错误的值:

int code = [NSDictionary objectForKey:@"code"];

在此之后我打印出代码的值及其类似3483765348,这是非常非常错误的。

为什么会这样?

5 个答案:

答案 0 :(得分:7)

返回的对象是NSNumber而不是int(不是对象)。 如果你想要int值,试试这个

int code = [[myDictionary objectForKey:@"code"] intValue];

答案 1 :(得分:3)

尝试使用以下代码来解决您的问题。根据您的代码,它只返回您必须将其转换为int值的值。使用这段代码

int code = [[NSDictionary objectForKey:@"code"]intValue];

希望这有助于!!!

答案 2 :(得分:0)

-objectForKey:不会返回int,而是返回一个对象(在您的类型为NSNumber的情况下)。

NSNumber *code = [myDict objectForKey:@"code"];
NSInteger codeInteger = [code integerValue];

答案 3 :(得分:0)

int code = [[yourResultingDictionary objectForKey:@"code"] intValue];

我认为这会对你有所帮助。

答案 4 :(得分:0)

对象键仅返回数组值,因此您将使用键作为键路径。

user_idstr = [tweet valueForKeyPath:@"properties.user_id"];