と私はこれから値を取得したいです。NSJSONSerializationは絵文字で動作しません
ストリング
"[{\" VisitorId \ ":\" dbd1c1d6-8348-4674-9e48-65137bdc5c14 \」、\ "OperatorID \":ヌル、\ "VisitorSignalId \"。 "" \ "Messagetext \":\ "ksksksksksk はチャットに参加しました!\"、\ "IsJoin \":\ "6c454fc2-cf74-4010-aecd-93d93408ad24 \メッセージタイプ:\ "MessageTime \":\ "2017-02-07 05:10:28 \"、\ "File \":null、\ "MessageType \":\ "JoinMessage \"、\ "Name \": \ "IP \"、\ "IP \":\ "123.231.110.188 \"、\ "ページ\":\ "http://www.sathyabaman.com/ \"、\ " \ "FileOploadDetails \":null、\ "FirstOperatorName \":null、\ "OperatorCo:null、\" CurrentOpImage \ ": "Bosswer":null、\ "Mobile \":null、\ "iso_code \":null、\ " ":null、\" VisitorId \ ":\" db \\ " \ "メッセージ\":\ "メッセージ\":\ "メッセージ\":\ "メッセージ時間\":\ "2017-02-07 05:10:58 \"、\ "メッセージ\ \ "メッセージタイプ\":\ "標準メッセージ\"、\ "名前\":\ "メール\":\ "[email protected] \"、\ "IP \": \ "Image \":null、\ "CurrentOpImage \":null、\ "123.231.110.188 \"、\ "Page \":\ "http://www.sathyabaman.com/ \ "FileUploadDetails \":null、\ "FirstOperatorName \":null、\ "OperatorCount \":1、\ "RequestTranscript \":false、\ "Country \":null、\ "OS \":null、\ "Broswer \ "モバイル\":null、\ "iso_code \":null}、\ "訪問者ID":null、\ "オペレータID \":\ "81aebba9-ddc3-4f58-b1af-ac912d23a41e \": \ "VisitorSignalId \":null、\ "タイプ\":\ "オペレータ\"、\ "メッセテキストテキスト\":\ "どうすれば今日あなたを助けることができますか?\"、\ "IsJoin \":false、\ "メッセージ\ "Message \":\ "MessageType \":\ "NormalMessage \"、\ "Name \":\ "sathya \":\ "2017-02-07 10:41:11 \"、 \ "Image \":null、\ "CurrentOpImage \":null、\ "IP \":NULL、\ "ページ\ \ "FileUploadDetails \":null、\ "FirstOperatorName \":\ "sathya \"、\ "OperatorCount \":1、\ "RequestTranscript \":null、\ "Country \":null、\ "OS \": null、\ "Broswer \":null、\ "モバイル\":null、\ "iso_code \":null}、\ "VisitorId \":\ "dbd1c1d6-8348-4674-9e48-65137bdc5c14 \"、\ " \ "VisitorSignal \":\ "VisitorSignalId \":\ "6c454fc2-cf74-4010-aecd-93d93408ad24 \"、\ "タイプ\":\ "訪問者\"、\ "Messagetext \":\ "ビジター は、 2/7/2017 5:11:53 AM \ "、\"ファイル\ ":null、\"メッセージタイプ\ "、 :\ "IPアドレス:\" 123.231.110.188 \ "、\" IPアドレス:\ "、\" IPアドレス:\ " "ページ\":\ "http://www.sathyabaman.com/ \"、\ "評価\":\ "評価なし\"、\ "イメージ\":null、\ "CurrentOpIm 1 "、" RequestTranscript ":false、\" Country \ ":null、\" OS \ "、\" FileUploadDetails \ ":NULL、\" FirstOperatorName \ "、null"、 "Broswer":null、\ "モバイル\":null、\ "iso_code \":null}、\ "VisitorId \":null、\ "OperatorID \":\ "81aebba9-ddc3- \ "タイプ\":\ "オペレータ\"、\ "メッセゲットテキスト\":\ "ハイ\"、\ "アイジョイン\":偽、\ "\"、\ "ビジターシグナル\ MessageType \ ":\" NormalMessage \ "、\" Name \ ":\" sathya \ ":MessageTime \":\ "2017-02-07 10:47:54 \"、\ "ファイル\ \ "Image \":null、\ "CurrentOpImage \":null、\ "IP \":NULL、\ "ページ\ \ "FileUploadDetails \":null、\ "FirstOperatorName \":\ "sathya \"、\ "OperatorCount \":1、\ "RequestTranscript \":null、\ "Country \":null、\ "OS \": null、\ "移動\":null、\ "iso_code \":null}、\ "VisitorId \":null、\ "OperatorID \":\ "81aebba9-ddc3-4f58-あなたは今日あなたを助けることができますか? どうすればいいですか?\ "メッセージタイプ\":\ "メッセージタイプ\":\ "2017-02-07 10:50:07 \"、\ "ファイル\":null、\ "メッセージタイプ\":\ "NormalMessage \ "IP \":ヌル、\ "ページ\":ヌル、\ "評価\":ヌル、\ "イメージ\"、\ "名前\":\ "sathya \"、 \ "FileOploadDetails \":null、\ "FirstOperatorName \":\ "Sathya \"、\ "OperatorCount \":1、\ "RequestTranscript \":null、\ "CurrentOpImage \ iso_code \ ":null}、{\" VisitorId \ ":null、\" Broswer \ ":null、\"モバイル\ ":null、\" OS \ \ "タイプ\":\ "オペレータ\"、\ "Messagetext \":\ "\"、\ "VisitorSignalId \":\ "81 \ \ "MessageType \":\ "MessageTime \":\ "NormalMessage \"、\ "IsJoin \":\ "MessageTime \":\ "2017-02-07 10:57:13 \"、\ "ファイル\ \ "IP \":null、\ "ページ\":null、\ "評価\":null、\ "イメージ\":\ "名前\":\ " \ "FileOploadDetails \":null、\ "FirstOperatorName \":\ "sathya \"、\ "OperatorCount \":1、\ "RequestTranscript \":null、\ "Country \ ":null、\" OS \ ":null、\" Broswer \ ":null、\" Mobiル\ ":ヌル、\" iso_code \ ":ヌル}]"
方法は
+ (void) showCurrentHistory:(NSString *) historyString {
NSString* processed = [historyString stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];
NSString* withotExtras = [[processed substringFromIndex:1] substringToIndex:[processed length] - 2];
NSData *data = [[NSData alloc] initWithBytes:[withotExtras UTF8String] length:withotExtras.length];
NSError *error;
NSMutableArray* jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
for (NSDictionary *dic in jsonArray) {
NSString *VisitorId = [dic objectForKey:@"VisitorId"];
NSString *VisitorSignalId = [dic objectForKey:@"VisitorSignalId"];
NSString *Type = [dic objectForKey:@"Type"];
NSString *Messagetext = [dic objectForKey:@"Messagetext"];
NSString *MessageType = [dic objectForKey:@"MessageType"];
NSString *MessageTime = [dic objectForKey:@"MessageTime"];
NSString *Image = [dic objectForKey:@"Image"];
NSString *FileUploadDetails = [dic objectForKey:@"FileUploadDetails"];
NSString *FirstOperatorName = [dic objectForKey:@"FirstOperatorName"];
NSString *Rating = [dic objectForKey:@"Rating"];
NSLog(@"----------------------- Current Chat History --------------------------------");
NSLog(@"VisitorId : %@" , VisitorId);
NSLog(@"VisitorSignalId : %@" , VisitorSignalId);
NSLog(@"Type : %@" , Type);
NSLog(@"Messagetext : %@" , Messagetext);
NSLog(@"MessageType : %@" , MessageType);
NSLog(@"MessageTime : %@" , MessageTime);
NSLog(@"Image : %@" , Image);
NSLog(@"FileUploadDetails : %@" , FileUploadDetails);
NSLog(@"FirstOperatorName : %@" , FirstOperatorName);
NSLog(@"Rating : %@" , Rating);
NSLog(@"------------------------------------------------------------------------------");
MessageItemObject *item = [[MessageItemObject alloc] init];
[item setVisitorId:VisitorId];
[item setVisitorSignalId:VisitorSignalId];
[item setType:Type];
[item setMessagetext:Messagetext];
[item setMessageType:MessageType];
[item setMessageTime:MessageTime];
[item setImage:Image];
[item setFileUploadDetails:FileUploadDetails];
[item setFirstOperatorName:FirstOperatorName];
[item setRating:Rating];
if (messagesList.count == 0) {
messagesList = [[NSMutableArray alloc] init];
[messagesList addObject:item];
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setValue:@"Adding new chatting" forKey:@"Adding new Chatting"];
[[NSNotificationCenter defaultCenter]
postNotificationName:@"PassData"
object:nil
userInfo:dic];
} else {
[messagesList addObject:item];
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setValue:@"Adding new chatting" forKey:@"Adding new Chatting"];
[[NSNotificationCenter defaultCenter]
postNotificationName:@"PassData"
object:nil
userInfo:dic];
}
}
}
何の絵文字がない場合、この刺さは単一の\絵文字を持っているので、この方法では、正常に動作します、NSJSONSerializationが機能しません。この問題を解決するのに役立つ人もいます。
これをチェックしましたか? http://stackoverflow.com/questions/23814394/nsjsonserialization-and-emoji – User511
あなたがそれを使用しない場合は、空の文字列で "Two Hear絵文字"を置き換える必要があります。または、そのユニコードに置き換えます。 – Wolverine
@ User511はTNXを処理しました。 –