轻量级的将NSDictionary, NSArray, NSString转换为JSON格式字符串的NSString类目

//

//  NSString+JSON.h

//  WSPhnixPurfier

//

//  Created by Joy on 13-9-4.

//  Copyright (c) 2013 Joy. All rights reserved.

//


#import


@interface NSString (JSON)


+(NSString *) jsonStringWithDictionary:(NSDictionary *)dictionary;

+(NSString *) jsonStringWithArray:(NSArray *)array;

+(NSString *) jsonStringWithString:(NSString *) string;

+(NSString *) jsonStringWithObject:(id) object;


@end



 

//

//  NSString+JSON.m

//  WSPhnixPurfier

//

//  Created by Joy on 13-9-4.

//  Copyright (c) 2013 Joy. All rights reserved.

//


#import "NSString+JSON.h"


@implementation NSString (JSON)


+(NSString *) jsonStringWithString:(NSString *) string{

    return [NSString stringWithFormat:@""%@"",

            [[string stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"]stringByReplacingOccurrencesOfString:@"""withString:@"\\""]

            ];

}


+(NSString *) jsonStringWithArray:(NSArray *)array{

    NSMutableString *reString = [NSMutableString string];

    [reString appendString:@"["];

    NSMutableArray *values = [NSMutableArray array];

    for (id valueObj in array) {

        NSString *value = [NSString jsonStringWithObject:valueObj];

        if (value) {

            [values addObject:[NSString stringWithFormat:@"%@",value]];

        }

    }

    [reString appendFormat:@"%@",[values componentsJoinedByString:@","]];

    [reString appendString:@"]"];

    return reString;

}


+(NSString *) jsonStringWithDictionary:(NSDictionary *)dictionary{

    NSArray *keys = [dictionary allKeys];

    NSMutableString *reString = [NSMutableString string];

    [reString appendString:@"{"];

    NSMutableArray *keyValues = [NSMutableArray array];

    for (int i=0; i<[keys count]; i++) {

        NSString *name = [keys objectAtIndex:i];

        id valueObj = [dictionary objectForKey:name];

        NSString *value = [NSString jsonStringWithObject:valueObj];

        if (value) {

            [keyValues addObject:[NSString stringWithFormat:@""%@":%@",name,value]];

        }

    }

    [reString appendFormat:@"%@",[keyValues componentsJoinedByString:@","]];

    [reString appendString:@"}"];

    return reString;

}


+(NSString *) jsonStringWithObject:(id) object{

    NSString *value = nil;

    if (!object) {

        return value;

    }

    if ([object isKindOfClass:[NSString class]]) {

        value = [NSString jsonStringWithString:object];

    }else if([object isKindOfClass:[NSDictionary class]]){

        value = [NSString jsonStringWithDictionary:object];

    }else if([object isKindOfClass:[NSArray class]]){

        value = [NSString jsonStringWithArray:object];

    }

    return value;

}


@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值