[問題] 正確印出多層 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