gpt4 book ai didi

ios - 如何从NSDictionary中删除包含“”的字符串

转载 作者:行者123 更新时间:2023-12-01 17:30:39 25 4
gpt4 key购买 nike

我有用户信息字典,该信息从Web服务中获取。有些字段的内容是 private 的,因此包含NULL。我如何将值转换为空字符串,无论哪里存在null值,如以下字典中所示:

{
"about_me" = "<null>";
"contact_number" = 123456798798;
"display_name" = "err";
followers = 0;
following = 4;
gender = "-";
posts = 0;
"user_id" = 18;
username = charge;
website = "<null>";
}

最佳答案

更高级的解决方案:

@interface NSObject (NULLValidation)
- (BOOL)isNull ;
@end

@implementation NSObject (NULLValidation)

- (BOOL)isNull{
if (!self) return YES;
else if (self == [NSNull null]) return YES;
else if ([self isKindOfClass:[NSString class]]) {
return ([((NSString *)self)isEqualToString : @""]
|| [((NSString *)self)isEqualToString : @"null"]
|| [((NSString *)self)isEqualToString : @"<null>"]
|| [((NSString *)self)isEqualToString : @"(null)"]
);
}
return NO;

}
@end


@interface NSDictionary (NullReplacement)
- (NSDictionary *) dictionaryByReplacingNullsWithString:(NSString*)string;
@end

@implementation NSDictionary (NullReplacement)

- (NSDictionary *) dictionaryByReplacingNullsWithString:(NSString*)string {
NSMutableDictionary *replaced = [NSMutableDictionary dictionaryWithDictionary: self];

NSString *blank = string;

[self enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if ([obj isNull]) {
[replaced setObject:blank forKey: key];
}
else if ([obj isKindOfClass: [NSDictionary class]]) {
[replaced setObject: [(NSDictionary *) obj dictionaryByReplacingNullsWithString:string] forKey: key];
}
}];

return replaced ;
}
@end

关于ios - 如何从NSDictionary中删除包含“<null>”的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com