Заменить символ новой строки в JSON NSString - PullRequest
2 голосов
/ 20 июня 2011

Я бьюсь головой о стену и решил проверить вас, ребята.

В качестве NSString у меня есть следующие данные JSON:

{
    "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 между * test и * newline, либо закодировать его с помощью // n. Я перепробовал все, что могу придумать, и не могу заменить строку.

Пока что я пробовал:

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

Кажется, по какой-то причине форматирование JSON вызывает методы NSString. Скорее всего, я делаю что-то глупое.

Я ценю вашу помощь.

Ответы [ 3 ]

0 голосов
/ 26 июля 2011

В этом случае не будет ли \ n ссылаться на разрывы строк после каждой запятой?

Вместо этого можно заменить \\ n (буквальные символы вместо разрывов строк)

replaceOccurrencesOfString:@"\\n" withString:@""
0 голосов
/ 17 января 2012

Трудно точно понять, в чем заключается ваша проблема, но я думаю, что вы хотите взять строку: "*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, поскольку экранирующий символ \ экранируется и, следовательно, просто печатается.

0 голосов
/ 20 июня 2011

-stringByTrimmingCharactersInSet: удаляет только символы в начале и в конце строки, в которую она отправлена.Обрезает, не ищет и не заменяет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...