JSONkit使用演示

复制代码
#import <Foundation/Foundation.h>  
#import "JSONKit.h"  
  
int main (int argc, const char * argv[]) {  
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  
    NSString *res = nil;  
      
    /* 
     * json格式编码 
     */  
      
    //字符串  
    NSString *str = @"this is a nsstring";  
    res = [str JSONString];  
    NSLog(@"res= %@", [NSString stringWithString: res]);  
    //res= "this is a nsstring"  
      
  
    //数组  
    NSArray *arr = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",nil];  
    res = [arr JSONString];  
    NSLog(@"res= %@", [NSString stringWithString: res]);  
    [arr release];  
    //res= ["One","Two","Three"]  
      
  
    //字典类型(对象)  
    NSArray *arr1 = [NSArray arrayWithObjects:@"dog",@"cat",nil];  
    NSArray *arr2 = [NSArray arrayWithObjects:[NSNumber numberWithBool:YES],[NSNumber numberWithInt:30],nil];  
    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:arr1,@"pets",arr2,@"other",nil];  
    res = [dic JSONString];  
    NSLog(@"res= %@", [NSString stringWithString: res]);  
    //res= {"pets":["dog","cat"],"other":[true,30]}   
      
      
    /* 
     * json格式解码 
     */  
    JSONDecoder *jd=[[JSONDecoder alloc] init];  
      
    //针对NSData数据  
    NSData *data = [dic JSONData];  
    NSDictionary *ret = [jd objectWithData: data];  
    NSLog(@"res= %@", [ret objectForKey:@"pets"]);  
    //res= (  
    //  dog,  
    //  cat  
    //)  
    NSLog(@"res= %@", [[ret objectForKey:@"other"] objectAtIndex:0]);  
    //res= 1  
      
    //针对NSString字符串数据  
    NSString *nstr = [dic JSONString];  
    NSDictionary *ret2 = [jd objectWithUTF8String:(const unsigned char *)[nstr UTF8String] length:(unsigned int)[nstr length]];  
    NSLog(@"res= %d", [[ret2 objectForKey:@"pets"] indexOfObject:@"cat"]);  
    //res= 1  
    NSLog(@"res= %@", [[ret2 objectForKey:@"other"] objectAtIndex:1]);  
    //res= 30  
      
    [jd release];  
      
    [pool drain];  
    return 0;  
}  
复制代码

 

posted @   cocoajin  阅读(229)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示