IOS 학습의 길 19(JSON과 Arrays 또는 Dictionaries 상호 전환)
NSJSONserialization 클래스의 DataWithJSONObject: options: error: 메소드를 통해 구현됩니다.
//dictionary json
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setValue:@"Anthony"forKey:@"First Name"];
[dictionary setValue:@"Robbins"forKey:@"Last Name"];
[dictionary setValue:[NSNumber numberWithUnsignedInteger:51]forKey:@"Age"];
NSArray *arrayOfAnthonysChildren = [[NSArray alloc]
initWithObjects:
@"Anthony's Son 1", @"Anthony's Daughter 1", @"Anthony's Son 2", @"Anthony's Son 3", @"Anthony's Daughter 2",nil];
[dictionary setValue:arrayOfAnthonysChildren forKey:@"children"];
NSError *error = nil;
// json data。。。。。。。。。。。。。。。。。。。。。。。
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary
options:NSJSONWritingPrettyPrinted
error:&error];
if ([jsonData length] > 0 && error == nil){
NSLog(@" .");
// json String
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"JSON String = %@", jsonString);
// JSON Arrays Dictionaries
// 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
id jsonObject = [NSJSONSerialization
JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments
error:&error];
if (jsonObject != nil && error == nil){
NSLog(@" ...");
if ([jsonObject isKindOfClass:[NSDictionary class]]){
NSDictionary *deserializedDictionary = (NSDictionary *)jsonObject;
NSLog(@" dictionary = %@", deserializedDictionary);
}
else if ([jsonObject isKindOfClass:[NSArray class]]){
NSArray *deserializedArray = (NSArray *)jsonObject;
NSLog(@" json = %@", deserializedArray);
}else {
}
}else if (error != nil){
NSLog(@" ");
}
} else if ([jsonData length] == 0 && error == nil){
NSLog(@" ");
}else if (error != nil){
NSLog(@" : %@", error);
}
전재는 다음과 같이 명시해 주십시오.
클릭 링크 열기http://blog.csdn.net/wildcatlele
시나닷컴 웨이보:http://weibo.com/u/3202802157
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.