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

时间:2023-03-08 16:23:53

将字典或者数组转换成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

使用:

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