您好,我對目標C很感興趣,在此先感謝您的幫助。如何將NSString轉換爲目標c中的NSDictionary?
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"Notification Received: %@", userInfo);
NSString *NSSMessage = [NSString stringWithFormat:@"%@", userInfo];
NotificationMessageHandler *obj = [[NotificationMessageHandler alloc] init];
[obj handleNotificationMessage: NSSMessage]; // NSSmessage is a string to convert into JSON
}
我下面的的NSString在NSSMessage
{
aps = {
alert = "\"Status\":\"Confirm\",\"Location\":\"\",\"Type\":\"Telephone Consultation\",\"Date\":\"2015-01-05\",\"Time\":\"19:03\",\"RescheduleDate\":\"\"";
badge = 1;
sound = "beep.wav";
};
}
裏面handleNotificationMessage,我轉換的NSString JSON格式
- (void) handleNotificationMessage : (NSString *) NSSParam
{
if(NSSParam != nil && NSSParam != Nil)
{
// Parse the string
NSLog(@"NSS Message Param %@", NSSParam);
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@" "
withString:@""];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"\n"
withString:@""];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"aps="
withString:@"\"aps\":"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"alert=\""
withString:@"\"alert\":{"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"\"\";"
withString:@"\"},"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"badge="
withString:@"\"badge\":"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"sound="
withString:@"\"sound\":"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@"}}\""
withString:@"}}"];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@";"
withString:@","];
NSSParam = [NSSParam stringByReplacingOccurrencesOfString:@",},}"
withString:@"}}"];
NSLog(@"NSS Message Param After Parsing %@", NSSParam);
NSData *data = [NSSParam dataUsingEncoding:NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; // Here json is null
}
}
解析我有一個JSON如下
{"aps":{"alert":{\"Status\":\"Confirm\",\"Location\":\"\",\"Type\":\"TelephoneConsultation\",\"Date\":\"2015-01-05\",\"Time\":\"20:15\",\"RescheduleDate\":\"\"},"badge":1,"sound":"beep.wav"}}
後
我曾經使用以下代碼將NSString轉換爲JSON
NSData *data = [NSSParam dataUsingEncoding:NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; // Here json is null
這裏json對象顯示爲空,但NSData有對象。 那麼,如何將NSString轉換爲目標c中的NSDictionary? 請幫忙!
1.第一個代碼片段不是NSString。 2.你如何「解析」到JSON? 3.你想做什麼?請澄清你的問題,這很難理解。 – CaptJak 2015-02-05 14:33:20
我編輯了我的問題 – Sakthimuthiah 2015-02-05 14:55:02
不要將nil傳遞給錯誤,它可能包含您需要查看發生了什麼的信息。 – Koen 2015-02-05 14:58:38