需將字符串中的雙引號 \" 轉義為 \\\",用 stringByReplacingOccurrencesOfString 全局替換。
NSString *original = @"""phone"" : ""555-522-8243"", ""name"" : ""Anna Haro""";
// 替換 " 為 \"
NSString *escaped = [original stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
NSLog(@"%@", escaped);
// 輸出:\"phone\" : \"555-522-8243\", \"name\" : \"Anna Haro\"
\" 表示雙引號,\\\" 表示反斜杠+雙引號。@\"\\\"\"(一個雙引號),替換結果 @\"\\\\\\\"\"(兩個字符:反斜杠、雙引號)。手動拼接/轉義極易出錯,強烈建議用 NSJSONSerialization 自動處理:
NSDictionary *dict = @{@"phone": @"555-522-8243", @"name": @"Anna Haro"};
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
// 自動產生標準 JSON,含正確轉義
手動轉義僅作特殊場景兜底,常規業務請用標準庫。