zoukankan      html  css  js  c++  java
  • 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;  
    }  
  • 相关阅读:
    Android学习第一课
    窗体 dialog 弹出时动画效果
    poj2105 IP Address(简单题)
    #定位系统性能瓶颈# strace &amp; ltrace
    POJ2142——The Balance
    排序算法系列之八大排序算法性能比較-从实验结果分析
    DuFile网赚网盘
    一次dns缓存引发的惨案
    IT大咖说
    HTTPS与SNI扩展,一个IP绑定多个SSL证书 | VeriSign|SSL证书|数字签名证书|服务器证书|微软代码签名证书|Symantec
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3082732.html
Copyright © 2011-2022 走看看