ios-unity/Classes_cocos/NSDictionary+Customer.m
2024-01-25 13:05:35 +08:00

40 lines
1.3 KiB
Objective-C

//
// NSDictionary+Customer.m
// Unity-iPhone
//
// Created by Hl Zhang on 2023/9/7.
//
#import "NSDictionary+Customer.h"
@implementation NSDictionary (Customer)
+(NSDictionary *)parseJSONString:(NSString *)jsonString {
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
if (error != nil) {
NSLog(@"Error parsing JSON string: %@", error.localizedDescription);
return nil;
}
return result;
}
+(NSString *)toJSONString: (NSDictionary *) json minify:(BOOL) minify {
NSError *error = nil;
NSJSONWritingOptions option = minify ? (NSJSONWritingOptions)0 : NSJSONWritingPrettyPrinted;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:json options:option error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
if (minify) {
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\s"
withString:@""
options:NSRegularExpressionSearch
range:NSMakeRange(0, [jsonString length])];
}
if (error != nil) {
NSLog(@"Error stringify JSON data: %@", error.localizedDescription);
return nil;
}
return jsonString;
}
@end