·您现在的位置: 江北区云翼计算机软件开发服务部 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> NSString,NSArray和NSDictionarytoJSON标准格式字符串

NSString,NSArray和NSDictionarytoJSON标准格式字符串

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23
#import <Foundation/Foundation.h>   @interface NSString (HXAddtions)   +(NSString *) jsonStringWithDictionary:(NSDictionary *)dictionary;   +(NSString *) jsonStringWithArray:(NSArray *)array;   +(NSString *) jsonStringWithString:(NSString *) string;   +(NSString *) jsonStringWithObject:(id) object;   +(void) jsonTest;   @end     // //  NSString+HXAddtions.m //  HXWeb // //  Created by hufeng on 12-2-13. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved. //   #import "NSString+HXAddtions.h"   @implementation NSString (HXAddtions)   +(void)jsonTest{     //test          NSDictionary *dictionary1 = [NSDictionary dictionaryWithObjectsAndKeys:                                  @"阿三\"\n11",@"name",                                  @"18",@"age",                                  nil];     NSDictionary *dictionary2 = [NSDictionary dictionaryWithObjectsAndKeys:                                  @"阿四",@"name",                                  @"20",@"age",                                  nil];          NSArray *array = [NSArray arrayWithObjects:dictionary1,dictionary2, nil];               NSDictionary *dictionary3 = [NSDictionary dictionaryWithObjectsAndKeys:                                  @"李\na",@"name",                                  @"29",@"age",                                  nil];          NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:                                 @"string",@"string",                                 array,@"array",                                 dictionary3,@"dictionary",                                 nil];     NSLog(@"dictionary:%@",dictionary);     NSString *jsonString = [NSString jsonStringWithObject:dictionary];     NSLog(@"dictionary jsonString:%@",jsonString);          NSLog(@"%@",[NSDictionary dictionaryWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]]);      } +(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