Kiosk

Android/iOS Application

Web Application

Spring Framework

Windows Application

    

앱개발지침


 
작성일 : 11-04-30 13:34
JSON 인터페이스
 글쓴이 : 관리자
조회 : 5,243  
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 2379
39 [android개발] Activity, Service, Receiver 관리자 04-15 2234
38 [android개발] Object & Class 관리자 04-15 1980
37 우편번호 검색 URL 관리자 10-25 2393
36 아이폰 어플디자인 가이드라인 관리자 07-05 6731
35 어플제작비용 관리자 04-30 5647
34 android의 viewDidLoad와 viewWillAppear는 ? 관리자 11-11 2936
33 viewDidLoad 와 viewWillAppear의 차이 관리자 11-11 11597
32 앱기능 구성 관리자 10-31 3024
31 앱개발 견적산출 방법 관리자 10-31 7809
30 스토리보드샘플(쇼핑몰) 관리자 06-21 7724
29 쇼핑몰 UI설계서 관리자 04-30 5793
19 JSON 인터페이스 관리자 04-30 5244
26 Appstore 리뷰 가이드라인(한글버전) 관리자 04-02 3938
25 메모리 관리(문씨 강좌) 관리자 04-02 8356
24 아이폰 개발은 쉽다 ? 관리자 04-02 4153
23 앱 ? 웹 ? 관리자 04-02 3363
22 둥근 모서리 만들기 관리자 03-09 3664
21 뷰컨트롤러간의 변수및 메소드 공유 관리자 03-09 6474
20 번들ID 간편하게 관리하기( Provisioning > XCode > AppStore ) 관리자 03-09 39396
 1  2  
서비스이용약관  |  개인정보취급방침  | 이메일 무단수집거부 Email:modeller@naver.com | Copyright(C) GYnet Co.