-1

서버에서 JSON을 다운로드하여 구문 분석 한 결과가 +JSONRequestOperationWithRequest:success:failure:AFJSONRequestOperation 인 결과 코드가 있습니다. 메서드의 성공 (또한 실패) 부분은 id JSON 인수가있는 인수로 블록을 사용합니다. 제가 이해한다면 JSON 파일 또는 그 내용을 나타내는 것입니다. 이 JSON 파일 (또는 다른 모든 텍스트 형식의 텍스트 표현)을 MFMailComposeViewController를 사용하여 전자 메일로 보낼 수있는 가능성이 필요합니다. 그럼, 두 가지 질문 :AFNetworking에서 JSON 파일 또는 정보 얻기

  • 이 파일에서이 JSON 콘텐츠를 가져올 수 있습니까?
  • MFMailComposeViewController를 사용하여 보낼 수있는 .json 파일 유형을 등록해야합니까?

답변

1

어떻게이 파일에서이 JSON 콘텐츠를 가져올 수 있습니까?

(있는 NSString 등)
  • operation.responseString, 또는 (을 NSData 등)
  • operation.responseData에서 (이 NSJSONSerialization에 의해 재단 객체로 변환되기 전에)

당신은 JSON 데이터 응답을 얻을 수 있습니다.

전자 메일에 첨부하려면 후자가 필요합니다.

MFMailComposeViewController를 사용하여 보낼 수있는 .json 파일 형식을 등록해야합니까?

[MFMailComposeViewController -addAttachmentData:mimeType:fileName:]으로 전화해야합니다. 당신은 operation.response.allHeaderFields NSDictionary에서 mime-type을 얻을 수 있습니다. 공식 표준 인 application/json 또는 text/json을 사용할 수도 있습니다.이 표준은 일반적으로 사용됩니다.

+0

간단합니다 ... 고맙습니다, 애런! 나는이 재산을 탐지하기에 충분하지 않았다. – Alex

1

JSON은 아니지만 JSON의 객체 표현에 대한 응답입니다. 대체로 NSArray 또는 NSDictionary입니다.

당신이 정상적인 HTTP 요청을 사용하고 MFMailComposeViewController에 해당 문자열을 보내거나 JSON 문자열로 다시 JSON 객체를 변경할 수 있습니다 중 하나해야 할 일은 :

다음
NSError *error = nil; 

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:JSON options:0 error:&error]; 
NSString *jsonString = nil; 
if (jsonData) { 
    jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
} else { 
    NSLog(@"Error creating JSON: %@", error); 
} 

당신은 당신의 MFMailComposeViewControllerjsonString를 전달할 수 있습니다 .

+0

팁 주셔서 감사합니다! – Alex