[问题] 正确印出多层 NSDictionary 里的元素

楼主: chrisflicker (chrisflicker)   2014-06-13 01:58:14
各位大大好,小弟又来发问了
目前有一个奇怪结构的 NSDictionary (from json)
长得像下面这样
{
result = (
);
},
{
result = (
{
alldata = (
{
data = "abc";
},
{
data = "def";
},
{
data = "ghz";
},
{
data = "orz";
}
);
final = 1;
}
);
"result_index" = 0;
}
请问我该怎么正确印出 alldata 里的每一个 data
感谢各位 orz
作者: gagalucia (这个嘛..)   2014-06-13 09:02:00
data是自己写的继承NSObject的class吗? override- (NSString *)description 试试
楼主: chrisflicker (chrisflicker)   2014-06-13 12:44:00
不是啊!整个结构就是 NSDictionary 的结构,只是不知道怎么印(爬)出我要的那些 key value
作者: pachu (在这疯狂的世界)   2014-06-13 18:03:00
先count数量,再跑for循环应该就可以了吧 ?
作者: tommy60703 (白菜)   2014-06-13 18:28:00
for in 可以吧
楼主: chrisflicker (chrisflicker)   2014-06-13 20:23:00
以前做法是把把第个result 包成 array 再去爬,可是X里面结构没那么对称,包进去会出错..
作者: abcdefghi   2014-06-14 21:58:00
NSLog(@"%@", alldata);
作者: uranusjr (←這人是超級笨蛋)   2014-06-15 01:26:00
我怎么看都觉得结构很对称啊, 你怎么做的先拿来看看
作者: Teferi (太费力)   2014-06-15 19:08:00
前后加[]包起来才是JSON?()也不是JSON的结构....只能硬解吧
作者: whitefur (白毛)   2014-06-16 09:25:00
楼上, 那是NSDictionary印出来的格式吧 跟JSON格式无关
作者: gagalucia (这个嘛..)   2014-06-16 23:50:00
我用模拟的建立出你贴出来的结构,然后再使用NSLog印出来是没问题的这边是code http://goo.gl/DVpuhy这边是console http://imgur.com/nMXj8ja我用Xcode 5 iOS SDK 7.1 和 7.1 的 Simulatoralldata忘记release.. (つд⊂)哦,你要问的是要怎么把alldata找出来?不知道是不是正确解读你的问题,参考一下吧~http://paste.ideaslabs.com/show/0iiS3zRIn9主要的解法就是NSArray用for in, NSDictionary用isKindOfClass 去拿里面的 object
楼主: chrisflicker (chrisflicker)   2014-06-18 16:46:00
哇我看得眼睛都花了,感谢楼上大大回复,我先试看看行不行 :P

Links booklink

Contact Us: admin [ a t ] ucptt.com