转换 JSON 并使用 Objective C 构建字典
Converting JSON and building a Dictionary using Objective C
我有一个非常复杂的 JSON 数据。我尝试使用 objective c 编程来解析。 JSON数据如下(这里我用简单的格式来解释,但是层次很深):
{
"university": "CUNY",
"results": {
"Engineering": 200,
"Computer Science": 298,
"Life Science": 28
}
}
使用 NSJSONSerialization
,我试图解决这个问题,我使用以下代码:
NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
[parsedObject objectForKey:@"results"];
并得到结果。但是我需要一个像 myResultDict
这样的字典,它将由 results
组成,这样我就可以实现其他功能。
有人可以给我一个小提示吗?
当您使用 NSJSONSerialization
获取解析数据时,它将为您提供包含多个键值对的解析字典。
然后通过获取结果键,您可以获得结果字典。
例如:
NSDictionary *myResultDict = [parsedDictionary objectForKey:@"results"];
试试这个方法:
NSDictionary *dic = @{@"university": @"CUNY", @"results" : @{@"Engineering": @200, @"Computer Science": @298, @"Life Science": @28}};
[self getSubDictionaryWithDictionary:dic];
此方法仅记录 NSDictionary
中的值,如果您想处理 NSArray
类型的 class,由您决定。:)
- (void)getSubDictionaryWithDictionary:(NSDictionary *)dictionary
{
for (id key in [dictionary allKeys])
{
id object = [dictionary objectForKey:key];
NSLog(@"key:%@ value:%@",key, object);
if ([object isKindOfClass:[NSDictionary class]])
{
[self getSubDictionaryWithDictionary:object];
}
}
}
这会提取嵌套字典中的所有字典,您可以根据需要对其进行修改.. :)
希望这对您有所帮助..干杯..:)
我有一个非常复杂的 JSON 数据。我尝试使用 objective c 编程来解析。 JSON数据如下(这里我用简单的格式来解释,但是层次很深):
{
"university": "CUNY",
"results": {
"Engineering": 200,
"Computer Science": 298,
"Life Science": 28
}
}
使用 NSJSONSerialization
,我试图解决这个问题,我使用以下代码:
NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
[parsedObject objectForKey:@"results"];
并得到结果。但是我需要一个像 myResultDict
这样的字典,它将由 results
组成,这样我就可以实现其他功能。
有人可以给我一个小提示吗?
当您使用 NSJSONSerialization
获取解析数据时,它将为您提供包含多个键值对的解析字典。
然后通过获取结果键,您可以获得结果字典。
例如:
NSDictionary *myResultDict = [parsedDictionary objectForKey:@"results"];
试试这个方法:
NSDictionary *dic = @{@"university": @"CUNY", @"results" : @{@"Engineering": @200, @"Computer Science": @298, @"Life Science": @28}};
[self getSubDictionaryWithDictionary:dic];
此方法仅记录 NSDictionary
中的值,如果您想处理 NSArray
类型的 class,由您决定。:)
- (void)getSubDictionaryWithDictionary:(NSDictionary *)dictionary
{
for (id key in [dictionary allKeys])
{
id object = [dictionary objectForKey:key];
NSLog(@"key:%@ value:%@",key, object);
if ([object isKindOfClass:[NSDictionary class]])
{
[self getSubDictionaryWithDictionary:object];
}
}
}
这会提取嵌套字典中的所有字典,您可以根据需要对其进行修改.. :)
希望这对您有所帮助..干杯..:)