swift๋ก ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ์ ๊ธฐ ๋๋ฌด ๋ง์ง๋ง ์ ์ฒ๋ผ ๊ผญ objc๋ก JSONํ์ฑ์ ํด์ผํ๋ ๊ฒฝ์ฐ.. ใ
ใ
์ ๋ ์ด JSON Parsing์ ์ ์ฌ์ฉํ๊ฒ ๋์๋๋ฉด, ์์ด๋ ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ณผ์ ์์ ์ผ์นํ๋ ํด๋ํฐ๋ฒํธ์ ํด๋นํ๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์๋ฒ์์ ์ฐพ์ ๋ฐ์์ค๋ ๊ณผ์ ์์ ํ์ด์ง์ ๋ํ๋ json์ ์ ์ฅํด์ ์ผ์นํ๋ ์์ด๋๋ฅผ ์ฐพ์ ํ๋ฉด์ ๋ํ๋ด ์ฃผ์ด์ผ ํ๋ ๊ธฐ๋ฅ์์ ์ฌ์ฉํ๊ฒ ๋์์๋๋น!
NSData *jsonData = [yourString dataUsingEncoding:NSUnicodeStringEncoding];
NSError *err = nil;
๋จผ์ , ์์ ํํ์์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ ๋ถ๋ถ์ yourString์ด๋ผ๊ณ ์ ํ ๋ถ๋ถ์ธ๋ฐ,
yourString์๋ ์ ๊ฐ ๋ฐ์์จ ์ ๋ณด๋ฅผ NSStringํํ๋ก ์ ์ฅํ jsonString์ด ์ ์ฅ๋์ด ์์ต๋๋ค.
์ด๋ค ํํ์ String์ด๋ ํ๋ฉด.. -> [{"key":"value","key":"value",... }] ์๋ฐ์์ผ๋ก ์ ์ฅ๋ ํํ์
๋๋ค!
์ด๊ฑธ ๊ทธ๋๋ก NSData๋ก ๋ณํํด์ค๋๋ค!!
์ ๋ ๊ถ๊ธํด์ jsonData๋ฅผ NSLog๋ก ์ฐ์ด๋ณด์๋๋ฐ์ฉ,,
์ด๋ ๊ฒ ๋จ๋๋ผ๊ตฌ์! ๊ทธ๋ฅ ๊ฐ์ด ๋์ค๋ฉด ์ ์ ์ฅ๋์ด ์๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ์์!
id allKeys = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&err];
๊ทธ ๋ค์ ์ด๊ฑฐ๋ฅผ allKeys๋ผ๋ ๋ณ์์ ์ ์ฅํด์ค๋๋ค!
์ฌ๊ธฐ์ ์ ๋ idํ์
์ผ๋ก ํ์ง๋ง ๋ฐฐ์ด๋ก ํ๊ณ ์ถ์ผ๋ฉด NSArray, ๋์
๋๋ฆฌ ํํ๋ก ํ๊ณ ์ถ์ผ๋ฉด NSDictionary๋ก ์ ์ด์ฃผ๋ฉด ๋ฉ๋๋น!
๋ค์ options์ ์ ๊ฐ ์ ์ด์ค kNilOptions๋ 0์ ์ ์ด์ฃผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋น! ์ด๋ฌ๋ฉด ๋์ด์์~~
์ฌ๊ธฐ์ ์ ๋ ์ผ์นํ๋ ์์ด๋๊น์ง ์ฐพ์์ฃผ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ผ๋ก ์ค๋ช
ํด๋ณด์๋ฉด..
for (int i=0; i<[allKeys count]; i++) {
NSDictionary *arrayResult = [allKeys objectAtIndex:i];
findID = [arrayResult objectForKey:@"user_id"];
}
์์ ํ์ฑํ ์ ๋ณด๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฉด์ "user_id"์ ์ผ์นํ๋ key๋ฅผ ์ฐพ์ value๋ฅผ findID์ ์ ์ฅํด์ ์ฐพ์์ฃผ์์ต๋๋ค.
๋๋ฒ์งธ ์ค์์ ๋์
๋๋ฆฌ๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด id -> dictionary๋ก ํด์ค ์ํ์ธ๋ฐ
์ด๊ฒ ์ด๋ค ๋ณํ๋๋ฉด ({"key":"value"}) -> {"key":"value"} ์ด๋ ๊ฒ ๋๋ค์ฉ!
์ ๋ [allKeys count]์ ๊ฐ์ด 1์ด๋ผ ์ฌ์ค ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ํ์๊ฐ ์์์ง๋ง, 1์ด์์ธ ๊ฒฝ์ฐ์๋ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด ์ฃผ์๋ฉด ๋ฉ๋๋ค!
'iOS > Objective-C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS/Objective-C] expected identifier or '(โ ์ค๋ฅ (0) | 2022.02.10 |
---|---|
[iOS/Objective-C] Navigation Controller, Modal ํ์์์ ๋ทฐ ์ ๊ฑฐ๋ฐฉ๋ฒ (0) | 2022.02.10 |
[iOS/Objective-C] NSData์ NSString ํ๋ณํํ๊ธฐ (0) | 2022.02.03 |