2014-08-28 29 views
-2

我開會分析JSON的問題,我有一個JSON這樣的:的iOS分析特定JSON

{ 
    "id": 0, 
    "message": "ok" 
} 

我試過幾件事情要想方設法把「ID」的值,「消息」 ,但我一直有一個錯誤..

我該怎麼做,請選擇「ID」和「消息」的價值?

(我得到了我JSONNSMutableArray結果)

編輯

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

NSError *jsonParsingError = nil; 
NSMutableDictionary *publicTimeline = [NSJSONSerialization JSONObjectWithData:response options:0 error:&jsonParsingError]; 

NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:publicTimeline.allKeys]; 
[sortedArray sortUsingSelector:@selector(localizedStandardCompare:)]; 
return sortedArray; 
+5

您提供的JSON格式爲「NSDictionary」。解析JSON到'NSDictionary'並使用'[responseDictionary valueForKey:@「message」]' – Akhilrajtr 2014-08-28 12:10:53

+0

你能顯示你的代碼嗎? – Bhupesh 2014-08-28 12:12:18

+0

我使用它來執行web服務並獲取jSON: 我編輯了我的帖子。 – deveLost 2014-08-28 12:13:41

回答

1

您的JSON字符串表示字典。所以你必須使用NSDictionary而不是NSArray

編輯我

// convert dictionary into JSON 
NSDictionary *fromDict = @{@"id": @(0), @"message": @"ok"}; 
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:fromDict options:0 error:nil]; 

// convert data (like you get from an API request) to dictionary 
NSDictionary *toDict = [NSJSONSerialization JSONObjectWithData:JSONData options:0 error:nil]; 
+0

我試圖將我的NSMutableArray轉換爲NSData,但是,日誌顯示我爲空「id」和消息:/ – deveLost 2014-08-28 12:20:03

+0

@develost您不需要將任何內容轉換爲NSData,並且您的代碼中的數組只是將鍵從字典中。當所有的答案都向你展示時,你可以直接從字典中得到兩個值,由JSON解析器返回 – Paulw11 2014-08-28 12:26:32

+0

好吧,我明白了我的錯誤......謝謝! – deveLost 2014-08-28 12:27:48

1

試試這個,

解析JSON響應NSDictionary

NSDictionary * responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 
NSString *message = [responseDictionary valueForKey:@"message"]; 
0

我認爲它有助於你(在此響應你得到第一字典和詞典包含兩個key.so)

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

NSError *jsonParsingError = nil; 
NSDictionary *publicTimeline = [NSJSONSerialization JSONObjectWithData:response options:0 error:&jsonParsingError]; 

NSString *message = [publicTimeline valueForKey:@"message"]; 

我認爲它有用的鏈接您。 json parser

+0

它不是一個NSMutableDictionary。 – 2014-08-28 12:25:55

+0

NSJSONSerialization(無選項)返回的是NSDictionary,而不是NSMutableDictionary。你不能像使用NSMutableDictionary一樣使用NSDictionary。 – 2014-08-28 12:39:01