* * iOS 에서 JSON 요청 에 문자열 에 전 의 를 넣 고 돌아 온 JSON 에 전 의 를 보 냅 니 다.

3844 단어 json

iOS 에서 NSSerialization 을 사용 하여 대상 을 JSON 문자열 로 변환 한 후, 역 슬 래 쉬 문제 가 많이 나 옵 니 다.
http://segmentfault.com/q/1010000000576646
   NSDictionary *dic = @{@"url": @"http://..."}; NSLog(@"%@", dic); NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"%@", jsonString); 

실행 결과:
2014-06-12 14:44:19.427 main[64877:1322484] { url = "http://..."; } 2014-06-12 14:44:19.429 main[64877:1322484] { "url" : "http:\/\/..." } 

변 환 된 json 문자열 에서 url 주소 가 바 뀌 었 습 니 다: (
문자열 바 꾸 기 를 사용 하면 나중에 보완 할 수 있 습 니 다:
[jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""];

--------------------------------------------------------------------------

iOS JSON 의 전의 자 제거
오늘 친 구 를 도와 이 문 제 를 풀 었 습 니 다. 제 이 슨 은 모두 '\' 를 가 져 왔 습 니 다. 그래서 이 역 슬 래 쉬 를 없 애 려 고 합 니 다. 그러나 OC 안의 '\' 는 전의 부호 입 니 다. @ '\' 와 같은 표현 으로 직접 표시 할 수 없습니다. 검색 한 후에 OC 가 전의 문자 에 대한 표현 방법 을 찾 았 습 니 다. 다음 과 같 습 니 다.
\ a - 사 운 드 경고 \ b - 체크 해제 \ f - 폼 피 드 - 줄 바 꾸 기 \ r - Enter \ t - 수평 탭 문자 \ v - 수직 탭 문자 \ \ \ - 역 슬 래 쉬 바 \ "- 작은 따옴표 \ \ '- 작은 따옴표
그러면 '\' 를 어떻게 표시 하 는 지 알 고 있 습 니 다. 이것 을 없 애 는 것 은 옮 겨 다 니 는 일 입 니 다. 코드 는 다음 과 같 습 니 다.
1 NSMutableString *responseString = [NSMutableString stringWithString:[request responseString]];

2     NSString *character = nil;

3     for (int i = 0; i < responseString.length; i ++) {

4         character = [responseString substringWithRange:NSMakeRange(i, 1)];

5         if ([character isEqualToString:@"\\"])

6             [responseString deleteCharactersInRange:NSMakeRange(i, 1)];

7     }


물론 다른 전의 기호 와 동 리 를 제거한다.
 

좋은 웹페이지 즐겨찾기