-1

У меня есть хороший рабочий код, который загружает и анализирует JSON с сервера и возвращает результат +JSONRequestOperationWithRequest:success:failure: из AFJSONRequestOperation. успех (а также отказ) часть метода принимает блок как аргумент с аргументом id JSON. Если я правильно понимаю - этот объект предназначен для представления файла JSON или его содержимого. Мне нужно иметь возможность отправить этот JSON-файл (или его текстовое представление в любом другом текстовом формате) по электронной почте, используя MFMailComposeViewController. Итак, два вопроса:получить JSON файл или информацию от AFNetworking

  • Как я могу получить этот контент JSON из этого файла?
  • Мне нужен регистр .json filetype, чтобы иметь возможность отправлять его с помощью MFMailComposeViewController?

ответ

1

Как я могу получить этот контент JSON из этого файла?

Вы можете получить ответ данных в формате JSON (перед его преобразованы в объекты Фонда по NSJSONSerialization) от

  • operation.responseString (как NSString), или
  • operation.responseData (как NSData).

Вам понадобится последний, если вы собираетесь прикрепить его к электронному письму.

мне нужно зарегистрировать .json типов файлов, чтобы иметь возможность отправить его с помощью MFMailComposeViewController?

Необходимо позвонить по телефону [MFMailComposeViewController -addAttachmentData:mimeType:fileName:]. Вы можете получить mime-тип из NSDictionary operation.response.allHeaderFields. Вы также можете использовать официальный стандарт, 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); 
} 

Затем вы можете передать jsonString в вашем MFMailComposeViewController ,

+0

Спасибо за отзыв, сэр! – Alex

Смежные вопросы