Kiosk

Android/iOS Application

Web Application

Spring Framework

Windows Application

    

앱개발지침


 
작성일 : 11-04-30 13:34
JSON 인터페이스
 글쓴이 : 관리자
조회 : 5,438  
XML보다 JSON은 간편하여 데이터 인터페이스에 유용한 방법이다.
JSON 샘플

[ { "c_code":"C130127179373", "c_img":"", "c_name":"일반식품(11)" } , { "c_code":"C130140562673", "c_img":"C130140562673.jpg", "c_name":"음료(1)" } , { "c_code":"C130140703818", "c_img":"C130140703818.jpg", "c_name":"담배(1)" } , { "c_code":"C130146675140", "c_img":"C130146675140.jpg", "c_name":"과자(1)" } , { "c_code":"C130146712592", "c_img":"C130146712592.jpg", "c_name":"세탁(1)" } ]

JSON 라이브러리를 인클루드하고 간편하게 JSON 포맷 파싱을 할수 있다.

1) stringWithURL이란 함수를 이용하여 URL상에서 JSON 문자열을 받아온다.
2) [문자열 JSONValue] 로 간편하게 Array로 변환한다.
3) NSDictionary를 이용하여 Array로부터 값을 읽어온다.

- (void) loadCategoryData {

NSLog(@"loadCatoryData..");

UIActivityIndicatorView *activity = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];
[activity setCenter:CGPointMake( 320/2, 480/2)];
activity.hidesWhenStopped = YES;
[activity startAnimating];

NSString *path = [ NSString stringWithFormat: @"http://categoryList.php" ];
NSString *strResponse = stringWithUrl([NSURL URLWithString:path]);
    NSLog(@"result---\n%@", strResponse);
NSArray *array = [strResponse JSONValue];
NSLog(@"count=%d", [array count] );

[activity stopAnimating];

if (!array)
return;

self.categoryData = [NSMutableArray arrayWithCapacity:[array count]];

for (NSDictionary *dict in array) {
CategoryRecord *rec = [[CategoryRecord alloc] init];
//[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
rec.c_code = [dict valueForKey:@"c_code"];
rec.c_name = [dict valueForKey:@"c_name"];
rec.c_cnt  = [dict valueForKey:@"c_cnt"];

NSLog(@"c_code: %@", rec.c_code );
NSLog(@"c_name: %@", rec.c_name );
NSLog(@"c_cnt: %@", rec.c_cnt );

[self.categoryData addObject:rec]; 
[rec release];
}
}

NSString *stringWithUrl(NSURL* url) {
    NSLog(@"url=%@", url);
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
    NSData *urlData;
    NSURLResponse *response;
    NSError *error;
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
    return [[[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding] autorelease];
}

 
 

Total 31
번호 제   목 글쓴이 날짜 조회
40 [android개발] Event-Driven 관리자 04-15 2557
39 [android개발] Activity, Service, Receiver 관리자 04-15 2396
38 [android개발] Object & Class 관리자 04-15 2144
37 우편번호 검색 URL 관리자 10-25 2582
36 아이폰 어플디자인 가이드라인 관리자 07-05 6893
35 어플제작비용 관리자 04-30 5822
34 android의 viewDidLoad와 viewWillAppear는 ? 관리자 11-11 3099
33 viewDidLoad 와 viewWillAppear의 차이 관리자 11-11 11766
32 앱기능 구성 관리자 10-31 3193
31 앱개발 견적산출 방법 관리자 10-31 7960
30 스토리보드샘플(쇼핑몰) 관리자 06-21 7867
29 쇼핑몰 UI설계서 관리자 04-30 5965
19 JSON 인터페이스 관리자 04-30 5439
26 Appstore 리뷰 가이드라인(한글버전) 관리자 04-02 4110
25 메모리 관리(문씨 강좌) 관리자 04-02 8563
24 아이폰 개발은 쉽다 ? 관리자 04-02 4332
23 앱 ? 웹 ? 관리자 04-02 3537
22 둥근 모서리 만들기 관리자 03-09 3829
21 뷰컨트롤러간의 변수및 메소드 공유 관리자 03-09 6642
20 번들ID 간편하게 관리하기( Provisioning > XCode > AppStore ) 관리자 03-09 39722
 1  2  
서비스이용약관  |  개인정보취급방침  | 이메일 무단수집거부 Email:modeller@naver.com | Copyright(C) GYnet Co.