Objective c 替换JSON NSString中的换行符

Objective c 替换JSON NSString中的换行符,objective-c,json,nsstring,Objective C,Json,Nsstring,我把头撞在墙上,决定和你们一起进去 我将以下JSON数据作为NSString: { "PATIENTID": "51853", "MSWREFERRAL": " ", "TIMEIN": " ", "PRECAUTIONOTHERNOTE1": " ", "AGE": "70", "SAFETY2": " ", "VISITTYPE": " ", "RAMP": " ", "BANNISTER": " ", "CRE

我把头撞在墙上,决定和你们一起进去

我将以下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": " "
}
我需要删除*test和*换行符之间的/n,或者用//n对其进行编码。我已经尝试了我能想到的一切,但无法得到字符串替换

到目前为止,我已经尝试:

  • replaceOccurrencesOfString:@“\n”和字符串:@”
  • stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet
似乎出于某种原因,JSON的格式化正在绊倒NSString方法,更有可能是我在做一些愚蠢的事情


非常感谢您的帮助。

-StringByTrimmingCharactersSet:
仅删除发送到的字符串的开头和结尾处的字符。它进行修剪,不进行搜索和替换。

-StringByTrimmingCharactersSet:
仅删除发送到的字符串的开头和结尾处的字符。它进行修剪,不进行搜索和替换。

在这种情况下,不是指每个逗号后面的换行符吗

您可能需要替换\\n(文字字符而不是换行符)


在这种情况下,\n不是指每个逗号后的换行符吗

您可能需要替换\\n(文字字符而不是换行符)


很难确定您的问题是什么,但我认为您希望使用字符串:
“*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
,因为转义字符
\
被转义,因此才被打印出来。

很难确定您的问题是什么,但我认为您希望使用s字符串:
“*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
,因为转义字符
\
被转义,因此刚刚打印出来。

您能确认您理解正斜杠和斜杠之间的区别吗一个反斜杠,你是想用你的方式问这个问题吗?这是一个愚蠢的打字错误。我试图替换\n不是/n…我希望Gloria Gordon是一个测试人员…你能确认你理解正斜杠和反斜杠之间的区别,你是想用你的方式问这个问题吗?这是一个愚蠢的打字错误。我是tr应替换\n不是/n…我希望Gloria Gordon是一个测试人员。。。