반응형
JSON 직렬화 된 데이터를 NSDictionary로 변환하는 방법
이 방법을 사용했습니다.
NSDictionary *jsonObject=[NSJSONSerialization
JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"jsonObject is %@",jsonObject);
"jsonObject is null"이 인쇄됩니다.
"error : nil"에 문제가 있습니까?
URL 또는 연결 방법을 사용하지 않습니다.
json 파일이 있고이를 테이블에 표시하고 싶습니다.
다음 코드를 시도하십시오.
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSArray* latestLoans = [json objectForKey:@"loans"];
NSLog(@"loans: %@", latestLoans);
누군가가 빠른 코드를보기 위해 여기에있는 경우를 대비하여 :
NSData에서 NSDictionary로
let dictionary:NSDictionary = NSKeyedUnarchiver.unarchiveObjectWithData(jsonData)! as NSDictionary
NSData에서 NSString으로
let resstr = NSString(data: res, encoding: NSUTF8StringEncoding)
json 입력을 확인하십시오. 루트 요소가 사전이나 배열이 아닐 수 있습니까? 문서에는이 경우 NSJSONReadingAllowFragments를 옵션으로 지정해야한다고 나와 있습니다.
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];
NSData *jsonData = [@"{ \"key1\": \"value1\" }" dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *jsonObject=[NSJSONSerialization
JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"jsonObject is %@",jsonObject);
[p release];
}
산출:
2012-09-26 16:06:51.610 Untitled[19164:707] jsonObject is {
key1 = value1;
}
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
이것은 상위 게시물의 더 간결한 버전입니다.
let convertJsonIntoDict = JSONSerialization.jsonObject (with : data !, options : []) as? NSDictionary
참고 URL : https://stackoverflow.com/questions/12603047/how-to-convert-json-serialized-data-to-nsdictionary
반응형
'Program Tip' 카테고리의 다른 글
정의되지 않은 메소드`image_will_change! ' (0) | 2020.12.06 |
---|---|
문자열을 3 자리 숫자로 포맷 (0) | 2020.12.06 |
MVC 5 프로젝트에서 jQueryUI 라이브러리를 추가하는 방법은 무엇입니까? (0) | 2020.12.06 |
Swift UIAlertController-> ActionSheet iPad iOS8 충돌 (0) | 2020.12.06 |
JSON 개체 목록을 통해 반복 (0) | 2020.12.06 |