3

最新の SDK を使用して iOS 5 以降のアプリケーションを開発しています。

この JSON を解析する必要があります。

{"GetHoroscope":false,"GetQuoteOfTheDay":false, ... }

それを行うには、次のコードがあります。

- (NSDictionary*)getDictionaryFromNSData:(NSData*)jsonData
{
    NSError* error = nil;
    id jsonObject = [NSJSONSerialization
                     JSONObjectWithData:jsonData
                     options:NSJSONReadingAllowFragments
                     error:&error];
    if ((jsonObject != nil) && (error == nil))
    {
        NSLog(@"Successfully deserialized...");
        if ([jsonObject isKindOfClass:[NSDictionary class]])
        {
            NSDictionary* deserializedDictionary = (NSDictionary *)jsonObject;
            NSLog(@"Dersialized JSON Dictionary = %@", deserializedDictionary);

            return deserializedDictionary;
        }
    }

    return nil;
}

しかし、boolean価値観に問題があります。チェックすると、値がnullであることがdeserializedDictionaryわかり ます。GetHoroscopeGetQuoteOfTheDay

ブール値で何か特別なことをする必要がありますか?

4

1 に答える 1

9

JSON の「true」と「false」の値はNSNumberオブジェクトとして保存されるため、次のように動作するはずです。

BOOL b = [deserializedDictionary[@"GetHoroscope"] boolValue];
于 2013-09-20T16:56:15.497 に答える