iOS 字典转json串,json串转字典(OC、Swift)

1.json串转字典

- (NSDictionary *)toDictionaryWithJsonString:(NSString *)jsonStr {
    
    if ([jsonStr isKindOfClass:[NSDictionary class]]) {
        return (NSDictionary *)jsonStr;
    }
    NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:jsonData
                                                               options:NSJSONReadingMutableContainers
                                                                 error:&err];
    return resultDic;
}

2.字典转json串

- (NSString *)toJsonStrWithDictionary:(NSDictionary *)dict {
    if ([dict isKindOfClass:[NSString class]]) {
        return (NSString *)dict;
    }
    NSError *parseError = nil;
    NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&parseError];
    NSString *jsonSrt = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    if (parseError) {
        jsonSrt = @"";
    }
    return jsonSrt;
}

json串与数组之间的相互转换

3.swift json转字典

//text 是一个字典格式的json串
func toDictionary(text: String) -> (Dictionary<String, Any>) {
    //text 是一个字典格式的json串
    if let data = text.data(using: .utf8) {
        do {
            // 尝试解析 JSON 数据
            if let dictionary = try JSONSerialization.jsonObject(with: data, optio[]) as? [String: Any] {
                // 成功解析,现在 dictionary 是一个 [String: Any] 字典
                print("解析后的字典: \(dictionary)")
            } else {
                print("数据不是有效的 JSON 字典格式")
            }
        } catch {
            //解析出错
            print("解析 JSON 数据时出错: \(error)")
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,748评论 1 32
  • 又是一个加班的夜晚!2月开年以来,就开始这样无尽的加班。每天总有做不完的事,晚上坐在办公室,颈椎难受想哭。一个人做...
    sundy小王阅读 264评论 0 2
  • 抱怨没有用 一切靠自己 刘 坤 打开微信,一个视频跳入了我的眼帘,我好奇地点开这个视频,看完之后却让我心潮澎湃,潸...
    LIUKUN_f851阅读 1,079评论 3 5
  • 如果非要找到一个合理的概念进行传统模式的颠覆,我个人认为是“去中心化”。所谓“去中心化”就是“利用互联网的信息对称...
    King3stones阅读 233评论 0 0
  • “妈、刚才那个叔叔是谁呀?”“你不认识、是妈妈以前的一个朋友”“哎呦喂、该不会是您老的旧情人吧、得嘞、这我得赶回去...
    无意惹东风阅读 283评论 0 1

友情链接更多精彩内容