2011-06-19 76 views
2

我正在撞牆撞牆,並決定與您簽入。在JSON中替換換行符NSString

我有以下JSON數據作爲的NSString:

{ 
    "PATIENTID": "51853", 
    "MSWREFERRAL": " ", 
    "TIMEIN": " ", 
    "PRECAUTIONOTHERNOTE1": " ", 
    "AGE": "70", 
    "SAFETY2": " ", 
    "VISITTYPE": " ", 
    "RAMP": " ", 
    "BANNISTER": " ", 
    "CREATETIMESTAMP": "1308519326", 
    "SAFETY1": " ", 
    "AGENCYNAME": "RESPONSE HOME CARE", 
    "STAIRS": " ", 
    "AGENCYID": "415", 
    "GUID": "845A481E-8F54-4737-9F55-05FD10E3B931", 
    "ASSIST": " ", 
    "EVALDATE": "06/19/2011", 
    "PULMONARY": "NO", 
    "DOB": "01/17/1941", 
    "GENDER": " ", 
    "STATUS": "pending", 
    "SETTING": " ", 
    "CATHETER": "NO", 
    "PRECAUTIONOTHER1": "NO", 
    "RECENTEVENTS": "*test\n*newline", 
    "PTTIME": "", 
    "TYPE": "eval", 
    "PATIENTNAME": "Gloria Gordon", 
    "CARDIAC": "NO", 
    "PRECAUTION": "NO", 
    "VISITNUM": "1", 
    "PRECAUTIONOTHERNOTE2": " ", 
    "SHUNT": "NO", 
    "WB": "NO", 
    "FALL": "NO", 
    "PRECAUTIONOTHER2": "NO", 
    "LIVES": " ", 
    "THERAPIST": "Bernard George KATZ, PT", 
    "PAID": " ", 
    "PASTMEDHX": " " 
} 

我需要或者刪除/ N *測試和*換行符之間或與//ñ編碼。我已經嘗試了所有我能想到的並且無法取代字符串的東西。

到目前爲止,我曾嘗試:

  • replaceOccurrencesOfString:@"\n" withString:@""
  • stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet

這似乎是出於某種原因,該JSON的formmating被絆倒了NSString的方法。我更可能做一些愚蠢的事情。

我感謝您的幫助。

+3

您能否確認您瞭解正斜槓和反斜槓之間的區別,並且您的意思是以您的方式提問? –

+0

這是一個愚蠢的錯字。我試圖替換\ n不是/ n。 –

+0

...我希望格洛麗亞戈登是一個考驗的人... –

回答

0

-stringByTrimmingCharactersInSet:只刪除發送到的字符串頭部和尾部的字符。它修剪,它不搜索和替換。

0

在這種情況下,\ n是不是指每個逗號後面的換行符?

您可能需要更換\\ñ代替(文字字符,而不是換行)

replaceOccurrencesOfString:@"\\n" withString:@"" 
0

很難確切知道你的問題是什麼,但我想你想利用字符串: "*test\n*newline"並將其替換爲"*test\\n*newline"以便字符\將被JSON解析器接受?

要做到這一點:

NSString *str = @"*test\n*newline"; 
NSLog(@"First log %@",str); 
str = [str stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"]; 
NSLog(@"Second log %@",str); 

的輸出,這是如下

First log = *test 
*newline 
Second log = *test\n*newline 

在這裏你可以看到,在第一次登錄你有打印爲新線\n。在第二個日誌中,您有一個\\n,它被打印爲\n,因爲轉義字符\已被轉義並因此被打印。