| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- //
- // RAConvertor.m
- // RedAnt Mobile
- //
- // Created by Ray on 08/09/2017.
- // Copyright © 2017 Ray. All rights reserved.
- //
- #import "RAConvertor.h"
- #import "const.h"
- @implementation RAConvertor
- +(NSString*)DataTOjsonString:(id)object
- {
- NSString *jsonString = nil;
- NSError *error;
- NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object
- options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
- error:&error];
- if (! jsonData) {
- DebugLog(@"Got an error: %@", error);
- } else {
- jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- }
- return jsonString;
- }
- +(NSDictionary*) data2dict:(NSData*) data
- {
- return [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
- }
- +(NSArray*)Dict2KVArray:(NSDictionary*) dict trim:(bool)trim
- {
- NSMutableArray* ret = [NSMutableArray new];
- for(NSString* key in [dict allKeys])
- {
- NSMutableDictionary* kv = [NSMutableDictionary new];
- kv[@"key"] = key;
- if(trim)
- {
-
-
- if([dict valueForKey:key]==nil)
- continue;
-
- NSString* val = [NSString stringWithFormat:@"%@",[dict valueForKey:key]];
- if(val.length==0)
- continue;
-
- }
- kv[@"value"] = [dict valueForKey:key];
-
- [ret addObject:kv];
-
- }
- return ret;
- }
- +(NSString*) arr2string:(NSArray *) arr separator:(NSString*)separator trim:(bool) btrim
- {
- if(arr.count==0)
- return nil;
- NSMutableArray * marr = [arr mutableCopy];
-
- begin:
- for (NSString* item in marr) {
- if(item.length==0 )
- if( btrim)
- {
-
- [marr removeObject:item];
- goto begin;
- }
-
- }
- NSString * ret = [marr componentsJoinedByString:separator];
- return ret;
- }
- +(NSString*) arr2string:(NSArray *) arr separator:(NSString*)separator trim:(bool) btrim brackets:(NSString*)brackets
- {
- if(brackets!=nil)
- separator = [NSString stringWithFormat:@"%@%@%@",brackets,separator,brackets];
- NSMutableArray * marr = [arr mutableCopy];
- begin:
- for (NSString* item in marr) {
- if(item.length==0 )
- if( btrim)
- {
-
- [marr removeObject:item];
- goto begin;
- }
-
-
-
- }
- NSString * ret = [marr componentsJoinedByString:separator];
-
- if(brackets!=nil)
- ret = [NSString stringWithFormat:@"%@%@%@",brackets,ret,brackets];
-
- return ret;
- }
- +(NSData*) arr2data:(NSArray*) arr
- {
- if(arr==nil)
- return nil;
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
- return data;
- }
- +(NSArray*) data2arr:(NSData*) data
- {
- if(data == nil)
- return nil;
-
- NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data];
- return array;
- }
- +(NSString*) separateNumber:(float) num
- {
- NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
- [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
- NSString *groupingSeparator = [[NSLocale currentLocale] objectForKey:NSLocaleGroupingSeparator];
- // [formatter setCurrencySymbol:@"$"];
- [formatter setGroupingSeparator:groupingSeparator];
- [formatter setGroupingSize:3];
- [formatter setAlwaysShowsDecimalSeparator:NO];
- [formatter setUsesGroupingSeparator:YES];
-
- NSString *formattedString = [formatter stringFromNumber:[NSNumber numberWithFloat:num]];
- return formattedString;
- }
- +(NSString*) currencyNumber:(float) num
- {
-
-
-
- // [self separateNumber:1234.56];
- NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
- [formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
- NSString *groupingSeparator = [[NSLocale currentLocale] objectForKey:NSLocaleGroupingSeparator];
- [formatter setCurrencySymbol:@"$"];
- [formatter setGroupingSeparator:groupingSeparator];
- [formatter setGroupingSize:3];
- [formatter setAlwaysShowsDecimalSeparator:NO];
- [formatter setUsesGroupingSeparator:YES];
-
- NSString *formattedString = [formatter stringFromNumber:[NSNumber numberWithFloat:num]];
- return formattedString;
-
- }
- +(NSData*) dict2data:(NSDictionary*) dict
- {
- if(dict==nil)
- return nil;
- // 将NSDictionary转化为NSData
- NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:nil];
- return data;
- }
- +(NSDictionary*) string2dict:(NSString*) str
- {
-
- if(str==nil||(NSNull *)str==[NSNull null])
- return nil;
- NSError *error = nil;
- NSDictionary *string2dic = [NSJSONSerialization JSONObjectWithData: [str dataUsingEncoding:NSUTF8StringEncoding]
- options: NSJSONReadingMutableContainers
- error: &error];
- // DebugLog(@"%@",string2dic);
- return string2dic;
- }
- +(NSString*) dict2string:(id) dict
- {
-
- if(dict==nil)
- return nil;
-
- // 将NSDictionary转化为NSData
- NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:nil];
-
- // 再将NSData转为字符串
- NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-
- return jsonStr;
- }
- +(NSArray*) string2arr:(NSString*) string separator:(NSString*)separator
- {
- if(string.length==0)
- return [NSArray new];
- if(separator.length==0)
- return @[string];
- // if(separator.length==0)
- NSArray *stringArray = [string componentsSeparatedByString:separator];
-
- return stringArray;
- }
- @end
|