我有一個NSData
對象,我需要將它轉換爲NSDictionary
對象。將NSData轉換爲JSON
NSData *data = ....;
現在我需要將其轉換爲一個NSDictionary
,我怎麼能做到這一點編程?
注意:在我將NSData
保存到NSDictionary
之後,我應該能夠訪問key value
對的NSDictionary
。
我沒有一個代碼來說明我的工作方式,到目前爲止,我只創建了NSData對象,並沒有任何線索繼續:)
我有一個NSData
對象,我需要將它轉換爲NSDictionary
對象。將NSData轉換爲JSON
NSData *data = ....;
現在我需要將其轉換爲一個NSDictionary
,我怎麼能做到這一點編程?
注意:在我將NSData
保存到NSDictionary
之後,我應該能夠訪問key value
對的NSDictionary
。
我沒有一個代碼來說明我的工作方式,到目前爲止,我只創建了NSData對象,並沒有任何線索繼續:)
你也可以繼承MKNetworkOperation並重寫responseJSON方法有以下:
-(id) responseJSON
{
NSString *rawJSON;
id jsonValue = nil;
if ((rawJSON = [[NSString alloc] initWithData:[self responseData] encoding:NSUTF8StringEncoding]) != nil) {
SBJsonParser *jsonParser = [[SBJsonParser alloc] init];
if ((jsonValue = [jsonParser objectWithString:rawJSON]) == nil) {
NSLog(@"This string doesn't seem to be JSON: '%@'\nraw Data : '%s'", rawJSON, (char *)[[self responseData] bytes]);
return [self responseString];
}
}
else {
NSLog(@"This data doesn't seem to be an UTF8 encoded string: %@", [self responseData]);
return [self responseString];
}
return jsonValue;
}
請檢查堆棧溢出的這個環節,我已經消耗JSON服務,它會幫助你很多。所有的編碼都在那裏。
這裏是示例項目的教程
希望你會發現它有助於
我正在使用MKNetworkKit。你能幫我嗎 – Illep
我沒有使用過,我喜歡使用iOS本機方法和框架,試試看NSJSONSerialization你會發現它更容易序列化和反序列化 –
我強烈建議調用SBJSON framework,它救了我的時間,很多次,準確地完成了我的工作,並輕鬆使用。您不需要知道轉換算法的細節,只需下載並調用它即可。
您可能需要從here下載它,然後按照this tutorial完成您的工作。
什麼格式'data'嗎?除非是標準的序列化格式之一,否則您需要一些邏輯來將其轉換爲字典。 –
是你想轉換的JSON數據嗎? –
是的,它是JSON數據。有人可以給我看一個示例代碼或教程,演示轉換 – Illep