json 데이터에서 key, object 추출하기
json데이터에서 key값 상관없이 object만 추출하고 싶을 때
key값만 추출하고 싶을 때
데이터를 뽑아내는 소스코드입니다.
저같은 경우는 json데이터가 아래와 같이 들어오는데요
여기서 "apImages"에 있는 objects만 뽑아 올겁니다.
Json 데이터
{
"apOffer": "1d232",
"apPackage": "",
"apAppTitle": "World of Tanks Blitz",
"apAppPromoText": "모바일에서 만나는 월드 오브 탱크! 월드 오브 탱크 블리츠는 다수의 수상 경력과 전 세계 약 8,000만 명의 이용자를 자랑하는 PC 온라인 게임 월드 오브 탱크의 개발사 워게이밍에서 새로 선보이는 모바일 MMO 액션 게임입니다!",
"apImages": {
"icon57": "http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg",
"icon114": "http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg",
"icon256": "http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg",
"banner640x100": "",
"banner640x960": "http://img.podgate.com/content/adpick/2014/0704/14044487019803697.jpg",
"banner960x640": "http://img.podgate.com/content/adpick/2014/0704/14044487018223111.jpg",
"banner640x640": "http://img.podgate.com/content/adpick/2014/0704/14044487005158220.jpg",
"banner1024x500": "http://img.podgate.com/content/adpick/2014/0704/14044487026760734.jpg"
},
"apTrackingLink": "http://app.mg/5210992"
},
일일이 key값으로 빼오게 되면 효율적이지가 않죠
그래서 아래 1번과 같이 object만 추출해 냅니다.
2번은 key값만 추출됩니다. icon57, icon114, icon256 ---
소스코드
adpickData 는 josn 파싱 후 값을 저장한 NSMutableArray 값입니다.
NSString *jsonUrl = adpick_url;
NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:jsonUrl]];
adpickData = [[NSMutableArray alloc] init];
if (jsonData != nil) {
JSONDecoder *jsonKitDecoder = [JSONDecoder decoder];
adpickData = [jsonKitDecoder objectWithData:jsonData];
}
NSArray *imgArray = [[adpickData valueForKey:@"apImages"] allObjects];
NSArray *imgArray = [[adpickData valueForKey:@"apImages"] allKeys];
결과값 로그
2014-08-01 10:36:54.361 eventmoa[15785:60b] (
"http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg",
"http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg",
"http://img.podgate.com/content/adpick/2014/0704/14044487005158220.jpg",
"http://img.podgate.com/content/adpick/2014/0704/14044487019803697.jpg",
"http://img.podgate.com/content/adpick/2014/0704/14044487018223111.jpg",
"http://img.podgate.com/content/adpick/2014/0704/14044487026760734.jpg",
"",
"http://img.podgate.com/img/freeapps/859/2_859204347-mzl.otgpjiwj.350x350-75.jpg"
)
반응형
그리드형
'IT > iOS' 카테고리의 다른 글
UIButton title multi-line (0) | 2014.08.08 |
---|---|
UILabel text size height (0) | 2014.08.05 |
프로젝트 개발과정 (0) | 2014.08.05 |
문자열에서 숫자만 추출하기 (0) | 2014.08.04 |
NSMutableArray shuffle (배열 랜덤으로 섞기) (0) | 2014.07.23 |
tableview sectionheader 고정 막기 (0) | 2014.07.22 |
Current View get subview (0) | 2014.06.03 |
64bit에서 컴파일시 objc_msgsend error (0) | 2014.05.15 |