sbjson无法正确打印id

时间:2011-02-22 20:18:20

标签: iphone objective-c

嗨我正在返回一个json字符串,如下所示:

{data,[{"id":1,"text":"blabla"},{"id":2,"text":"blabla2"}]}

当我尝试使用NSLog打印时:

NSLog(@"id: %@",[temp objectForKey:@"id"]);

我得到大数字,而不是id。 如果我将id用引号括起来,那就没事了。

当整数没有引号时,有没有办法解码字符串?

THX!

3 个答案:

答案 0 :(得分:1)

看起来你必须使用integerValue方法将对象转换为整数。

NSLog(@"id: %d",[[temp objectForKey:@"id"]integerValue]);
感谢每个人的帮助。

答案 1 :(得分:0)

你的格式有点不稳定。同样-objectForKey:为参数提供NSString,因此请务必在引号前添加@以表示NSString常量。

NSLog(@"id: %@", [temp objectForKey:@"id"]);

答案 2 :(得分:0)

问题在于您的字符串格式。而不是

NSLog(@"id: %@),[temp objectForKey:@"id"];

尝试使用:

NSLog(@"id: %d),[temp objectForKey:@"id"];

%@仅用于字符串,在您的情况下,当未引用ID时,它是一个整数,您应该使用%d代替。