zoukankan      html  css  js  c++  java
  • 将字典或者数组转换成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

    使用:

  • 相关阅读:
    SAM4E单片机之旅——2、LED闪烁之轮询定时器
    SAM4E单片机之旅——1、LED闪烁之空循环
    C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠
    阻止系统自动睡眠的小软件,附C#制作过程
    Python3做采集
    判断浏览器类型
    任意几个数求和
    常见Z纯CSS小样式合集(三角形)
    数据脱敏项目中遇见的问题
    点击左侧跳到右侧
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4282320.html
Copyright © 2011-2022 走看看