123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- //
- // NSDictionary+NTESJson.m
- // NIM
- //
- // Created by amao on 13-7-12.
- // Copyright (c) 2013年 Netease. All rights reserved.
- //
- @implementation NSDictionary (NTESJson)
- - (NSString *)jsonString: (NSString *)key
- {
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]])
- {
- return object;
- }
- else if([object isKindOfClass:[NSNumber class]])
- {
- return [object stringValue];
- }
- return nil;
- }
- - (NSDictionary *)jsonDict: (NSString *)key
- {
- id object = [self objectForKey:key];
- return [object isKindOfClass:[NSDictionary class]] ? object : nil;
- }
- - (NSArray *)jsonArray: (NSString *)key
- {
- id object = [self objectForKey:key];
- return [object isKindOfClass:[NSArray class]] ? object : nil;
- }
- - (NSArray *)jsonStringArray: (NSString *)key
- {
- NSArray *array = [self jsonArray:key];
- BOOL invalid = NO;
- for (id item in array)
- {
- if (![item isKindOfClass:[NSString class]])
- {
- invalid = YES;
- }
- }
- return invalid ? nil : array;
- }
- - (BOOL)jsonBool: (NSString *)key
- {
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]] ||
- [object isKindOfClass:[NSNumber class]])
- {
- return [object boolValue];
- }
- return NO;
- }
- - (NSInteger)jsonInteger: (NSString *)key
- {
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]] ||
- [object isKindOfClass:[NSNumber class]])
- {
- return [object integerValue];
- }
- return 0;
- }
- - (long long)jsonLongLong: (NSString *)key
- {
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]] ||
- [object isKindOfClass:[NSNumber class]])
- {
- return [object longLongValue];
- }
- return 0;
- }
- - (unsigned long long)jsonUnsignedLongLong:(NSString *)key
- {
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]] ||
- [object isKindOfClass:[NSNumber class]])
- {
- return [object unsignedLongLongValue];
- }
- return 0;
- }
- - (double)jsonDouble: (NSString *)key{
- id object = [self objectForKey:key];
- if ([object isKindOfClass:[NSString class]] ||
- [object isKindOfClass:[NSNumber class]])
- {
- return [object doubleValue];
- }
- return 0;
- }
- @end
|