2012-07-01 159 views
0

我發起一個URL連接,我的腳本返回以下JSON:解析JSON目標C

( 1, { 「ID」= < -ID這裏 - >; 散列= < -Hash這裏 - >; }, ( ) ( ))

所有的例子我看到這樣在相應的數組/詞典之前似乎有「ID」或標識符。儘管四處尋找,我找不到解決這個問題的方法。 (即我需要獲取第一個布爾值,id,哈希,然後是數組(現在爲空))。

對不起,如果我失去了一些東西 - 我是新來解析Obj-C中的JSON。感謝您的幫助。

回答

2

我使用的功能是與Cocoa庫一起構建的:NSJSONSerialization類。 它提供了將JSON解析爲圖並將圖編碼爲JSON的方法。規則類似於plists(即基本類型加上數組和字典)。

如果你有NSData的(你可以很容易地從一個字符串獲得),你這樣做:

NSArray *yourJSONAsObjectGraph = [NSJSONSerialization JSONObjectWithData:yourNSData options:nil error:&err]; 

然後,你上面的數據,objectAtIndex:0是一個NSNumber,您可以調用boolValue on,objectAtIndex:1將是一個NSDictionary,你可以調用objectForKey:@"id"(和@「hash」)等

+0

謝謝,這很有用。我現在就試試看,並讓你知道。 – Kgrover

+0

唯一需要注意的是,您需要知道(或檢測)最高級別的對象類型。通常你知道,因爲你正在與你自己的API交談,但你也可以檢測。它將永遠是NSArray或NSDictionary(除非有錯誤)。 –

+0

這工作完美。謝謝你的快速反應。 – Kgrover

0

請參閱How to use JSON in Objective-C。如果你還沒有聽說過,請看SBJSON

+0

我認爲現在iOS開發中有一個本地JSON解析器。我錯了嗎? – Kgrover

+0

「native」是什麼意思? SBJSON是原生的。它是純粹的Objective-C。它不是由蘋果公司製造的。 – DrummerB

+0

查看@ctrahey的答案......看起來,我不需要使用默認庫中未包含的任何內容。 – Kgrover