json-framework的使用

发表:2013-03-02 19:41:16

1、部署Json-Framework

首先下载Json-Framework,点击此处下载

下载完成后,将JSON包拖放到项目。完成后就可以使用Json-framework框架了。

2、使用Json-Framework

Json-Framework的使用非常简单,由于Json-Framework是NSString的分类,所以只需要把Json格式的数据使用JSONValue方法序列化即可,Json-Framework将会返回Nsarray或者NSMutableDictionary。开发人员可以直接将结果绑定到UITableView上,也可以遍历提取键值等操作。代码如下。

1)AppDelegate.h


#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
    NSString *outString;
}
@property (strong, nonatomic) UIWindow *window;
@end

2)AppDelegate.m

//
//  AppDelegate.m
//  JsonFramework_demo
//
//  Created by MAC on 13-2-18.
//  Copyright (c) 2013年 李开涌. All rights reserved.
//
#import "AppDelegate.h"
#import "SBJson.h"
@implementation AppDelegate
- (void)dealloc
{
    [outString release];
    [_window release];
    [super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    NSURL *url=[NSURL URLWithString:@"http://api.beauty-soft.net/index.php?a=getArea&s=140900"];
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    //声明URL连接对象
    NSURLConnection *content=[NSURLConnection connectionWithRequest:request delegate:self];
    [content start];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}
#pragma mark ---请求成功,开始接收数据
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    outString=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
          
}
#pragma mark ---数据下载完成
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
    //NSLog(@"数据%@",outString);
    NSMutableDictionary *dir=[outString JSONValue];
    NSMutableDictionary *str=[dir objectForKey:@"data"];
    for (NSMutableDictionary *subStr in str) {
        NSLog(@"%@",[subStr objectForKey:@"areaName"]);
    }
          
}
- (void)applicationWillResignActive:(UIApplication *)application
{
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
@end

相关文章