У меня в настоящее время есть 2 19-дюймовых монитора. Один я сохраняю в среде, и один я сохраняю в режиме портрета. Я нахожу, что работа над документацией или чтение длинных веб-страниц легче на экране портрета. Я использовал эту установку для кодирования также и нахожу, что это действительно помогает, однако это была изученная привычка. lol
Платформа JSON поддерживает преобразование массивов, словарей, строк, чисел и логических значений. Итак, вы хотите преобразовать свои данные в один из этих форматов. Поскольку ваши данные являются NSData, проще всего преобразовать их с помощью:
NSString* stringData = [[NSString alloc] initWithData:yourData
encoding:NSUTF8StringEncoding];
В зависимости от того, что находится в буфере (и если ваш сервер может это обработать), вы можете захотеть закодировать результат Base64 (проверьте http: // www. cocoadev.com/index.pl?BaseSixtyFour, если у вас нет под рукой конвертера). Вы даже можете перейти прямо от NSData к строке в кодировке Base64.
Теперь создайте словарь с одним элементом с ключом , кодом
и значением stringData
(с последнего шага):
NSDictionary* jsonDictionary = [NSDictionary dictionaryWithObject:stringData
forKey:@"code"];
] Его можно легко преобразовать в JSON. Просто импортируйте JSON.h в заголовок кода, затем используйте:
NSString* jsonString = [jsonDictionary JSONRepresentation];
Выгрузите его, и вы увидите свою строку JSON - что-то вроде: { "code" : "{yourstringdata}"; }
. Самый простой способ отправить это на ваш сервер - использовать библиотеку ASIHTTPRequest с методом POST.
Как только вы получите результат с сервера, инфраструктура JSON может проанализировать его обратно в словарь, а затем вы можете получить нужные данные:
NSDictionary* responseDict = [yourJSONResponseStringFromServer JSONValue];
NSNumber* answerNum = (NSNumber *) [responseDict objectForKey:@"answer"];
int answer = [answerNum intValue];