我进行API调用,并收到一个JSON字符串响应,看起来像
{content =
{key_1 = {"field_1" = "value_1"; "field_2" = "value_2"},
key_2 = {"field_1" = "value_3"; "field_2" = "value_4"}
}
我想将它转换为数组(这实际上是一个公司列表),我可以使用类似于PHP中的“foreach”来获取索引和某些特定字段。
您是否知道如何将其投射到阵列?
(例如,在pho中我将使用$ array =(array)$ object;)
感谢您的帮助!
弗雷德里克
答案 0 :(得分:0)
您的JSON对象非常不清楚。我假设key_1和key_2是公司,而你正试图制作一系列词典。
您将获得您的响应JSON对象并将其存储到NSDictionary *响应中;
NSDictionary *response = JSONObject;
//Get the dictionary pertaining to "content"
NSDictionary *content = response[@"content"];
//Create the array you'll add companies to.
NSMutableArray *array = [NSMutableArray array];
//Go through and add each element (key_1 & key_2) to the array
for (NSDictionary *companyDict in content) {
[array addObject:companyDict];
}
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用NSJSONSerialization
。
NSJSONSerialization
类可用于将JSON转换为Foundation对象,反之亦然。您应该使用-JSONObjectWithData:options:error:
类的NSJSONSerialization
。
示例:
NSError *err;
NSDictionary *jsonDisctionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&err];
NSArray *fetchedArr = [jsonDisctionary objectForKey:@"content"];