• 将字典或者数组转换成JSON数据或者字符串


    将字典或者数组转换成JSON数据或者字符串

    源码:

    NSDictionary+JSON.h 与 NSDictionary+JSON.m

    //
    //  NSDictionary+JSON.h
    //  Category
    //
    //  Created by YouXianMing on 15-2-09.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface NSDictionary (JSON)
    
    /**
     *  转换成JSON串字符串(没有可读性)
     *
     *  @return JSON字符串
     */
    - (NSString *)toJSONString;
    
    /**
     *  转换成JSON串字符串(有可读性)
     *
     *  @return JSON字符串
     */
    - (NSString *)toReadableJSONString;
    
    /**
     *  转换成JSON数据
     *
     *  @return JSON数据
     */
    - (NSData *)toJSONData;
    
    @end
    //
    //  NSDictionary+JSON.m
    //  Category
    //
    //  Created by YouXianMing on 15-2-09.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import "NSDictionary+JSON.h"
    
    @implementation NSDictionary (JSON)
    
    - (NSString *)toJSONString {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
                                                         error:nil];
        
        if (data == nil) {
            return nil;
        }
        
        NSString *string = [[NSString alloc] initWithData:data
                                                 encoding:NSUTF8StringEncoding];
        return string;
    }
    
    - (NSString *)toReadableJSONString {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil];
        
        if (data == nil) {
            return nil;
        }
        
        NSString *string = [[NSString alloc] initWithData:data
                                                 encoding:NSUTF8StringEncoding];
        return string;
    }
    
    - (NSData *)toJSONData {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil];
        
        return data;
    }
    
    @end

    NSArray+JSON.h 与 NSArray+JSON.m

    //
    //  NSArray+JSON.h
    //  Category
    //
    //  Created by YouXianMing on 15-2-09.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface NSArray (JSON)
    
    /**
     *  转换成JSON串字符串(没有可读性)
     *
     *  @return JSON字符串
     */
    - (NSString *)toJSONString;
    
    /**
     *  转换成JSON串字符串(有可读性)
     *
     *  @return JSON字符串
     */
    - (NSString *)toReadableJSONString;
    
    /**
     *  转换成JSON数据
     *
     *  @return JSON数据
     */
    - (NSData *)toJSONData;
    
    @end
    //
    //  NSArray+JSON.m
    //  Category
    //
    //  Created by YouXianMing on 15-2-09.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import "NSArray+JSON.h"
    
    @implementation NSArray (JSON)
    
    - (NSString *)toJSONString {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
                                                         error:nil];
        
        if (data == nil) {
            return nil;
        }
        
        NSString *string = [[NSString alloc] initWithData:data
                                                 encoding:NSUTF8StringEncoding];
        return string;
    }
    
    - (NSString *)toReadableJSONString {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil];
        
        if (data == nil) {
            return nil;
        }
        
        NSString *string = [[NSString alloc] initWithData:data
                                                 encoding:NSUTF8StringEncoding];
        return string;
    }
    
    - (NSData *)toJSONData {
        NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil];
        
        return data;
    }
    
    @end

    使用:

  • 相关阅读:
    【模块汇总】
    【葵花宝典@2020Python面试】
    【数据库汇总】
    【Python初阶汇总】
    【葵花宝典@职场动物园】
    【2020Python修炼记】web框架之Django实战-BBS-高仿版博客园
    【2020Python修炼记】web框架之 权限管理+Auth模块
    Java SE基础2:Class类与反射 反射破坏了封装吗?
    Java SE基础1:面向对象三大基本特性
    11.堆与堆的应用
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4282320.html
Copyright © 2020-2023  润新知