SBJson анализирует логическое значение - PullRequest
1 голос
/ 03 ноября 2011

Я использую SBJson для анализа некоторых результатов JSON из веб-службы. Проблема в том, что я не уверен, как SBJson обрабатывает логические типы. Служба возвращает его как истинное или ложное значение; это обрабатывается автоматически в SBJson или я должен определить это сам?

Ответы [ 3 ]

2 голосов
/ 13 мая 2012

Исходя из Java, меня это тоже смутило (как отсутствие настоящего логического значения, так и представление SBJson); 2-й пример BOOL, конечно, не работает:

BOOL      bDir = ((NSNumber*)[obj objectForKey:@"isDirectory"]).intValue;
//BOOL    bDir = [obj objectForKey:@"isDirectory"];
type           = bDir ? MI_DIRECTORY : MI_FILE;
1 голос
/ 03 ноября 2011

Могу ли я предложить вам ознакомиться с документацией класса: http://json -framework.googlecode.com / svn / trunk / documents / interfaceSBJSON.html

Я полагаю, что SBJson возвращает логические значения в виде NSNumbers, равным 0 или 1, которые вы можете использовать логические значения для таких вещей, как операторы if. Или вы всегда можете просто получить boolValue для истинного BOOL типа

0 голосов
/ 30 октября 2012

Работает, как упомянуто @cpjolicoeur.

Рабочий пример:

NSDictionary *response = [responseString JSONValue]
BOOL example = [[response objectForKey:@"example"] boolValue]

if(example) {
......
...