admin 管理员组文章数量: 1086019
2024年2月19日发(作者:方舟编译器支持的语言)
iOS数组、字典与json字符串的转换/*! * 将字典或者数组转化为JSON串 * * @param theData <#theData description#> * * @return <#return value description#> */+ (NSString *)toJSONData:(id)theData{ NSString * jsonString = @""; if (theData != nil) { NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData options:NSJSONWritingPrettyPrinted error:nil];
if ([jsonData length] != 0){ jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; } } return jsonString;}
/*! * 将JSON串转化为字典或者数组 * * @param jsonData <#jsonData description#> * * @return <#return value description#> */
+ (id)toArrayOrNSDictionary:(NSString *)jsonData{ if (jsonData != nil) { NSData* data = [jsonData dataUsingEncoding:NSUTF8StringEncoding]; id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
if (jsonObject != nil){ return jsonObject; }else{ // 解析错误 return nil; } } return nil;}
/*! * 对象序列成字典 * * @param obj 需要序列化的对象 * * @return 字典 */
+ (NSDictionary*)getDictionaryFromObject:(id)obj{ NSMutableDictionary *dic = [NSMutableDictionary dictionary]; unsigned int propsCount; objc_property_t *props = class_copyPropertyList([obj class], &propsCount); for(int i = 0;i < propsCount; i++) { objc_property_t prop = props[i]; id value = nil;
@try { NSString *propName = [NSString stringWithUTF8String:property_getName(prop)]; value = [self getObjectInternal:[obj valueForKey:propName]]; if(value != nil) { [dic setObject:value forKey:propName]; }
版权声明:本文标题:iOS数组、字典与json字符串的转换 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1708346006a520768.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论