从响应中获取数据

时间:2013-03-28 11:50:46

标签: ios json

我是iOS开发的新手。我有如下的响应字符串:

  

{ “7”: “阿富汗”, “8”: “阿尔巴尼亚”, “9”: “阿尔及利亚”, “10”: “安道尔”, “11”: “安哥拉”, “12”:“安提瓜岛   和   巴布达”, “13”: “阿根廷”, “14”: “亚美尼亚”, “15”: “奥”, “16”: “阿塞拜疆”, “17”: “巴哈马”, “18”: “巴林” , “19”: “孟加拉国”, “20”: “巴巴多斯”, “21”: “白俄罗斯”, “22”: “比利时”, “23”: “伯利兹”, “24”: “贝宁”,” 25 “:” 不丹 “ ”26“: ”玻利维亚“, ”27“:” 波斯尼亚   和   黑塞哥维 “ ”28“: ”波扎那“, ”29“: ”巴西“, ”30“: ”文莱“, ”31“: ”保加利亚“, ”32“:” 布基   索 “ ”33“: ”蒲隆地“, ”34“: ”柬埔寨“, ”35“: ”喀“, ”36“: ”加拿大“, ”37“:” 普   佛得角“,”38“:”中非   共和国 “ ”39“: ”乍得“, ”40“: ”智利“, ”41“: ”中国“, ”42“: ”哥伦比亚“, ”43“: ”科摩罗“, ”44“:” 哥斯达黎加   哥斯达黎加 “ ”45“:” 科特   科特迪瓦 “ ”46“: ”克罗地亚“, ”47“: ”古巴“, ”48“: ”塞浦路斯“, ”49“:” 捷克   共和国“,”50“:”民主共和国   刚果 “ ”51“: ”丹麦“, ”52“: ”吉布提“, ”53“: ”多米尼克“, ”54“:” 多明尼加   共和国“,”55“:”东帝汶“,”56“:”厄瓜多尔“,”57“:”埃及“,”58“:”El   萨尔瓦多 “ ”59“:” 赤道   几内亚”, “60”: “厄”, “61”: “爱沙尼亚”, “62”: “埃塞俄比亚”}

请帮助我获取国家/地区名单。

3 个答案:

答案 0 :(得分:2)

尝试下面的代码来解析iOS 5以上的JSON数据

NSError *jsonError = nil;
NSDictionary *tempDict = [NSJSONSerialization JSONObjectWithData:JsonData options:0 error:&jsonError]; 
// here JsonData is nsmutabledata in which your response is append 
NSLog(@"%@",tempDict);

试试这个你将成功使用iOS 5.0以上的5.0以上

答案 1 :(得分:0)

我认为你不知道JSON解析。

在Google中搜索“iOS JSON Parsing”,您将获得许多教程。

请给我一些清单。

1。 Working with JSON in iOS 5 Tutorial
2。 JSON Framework for iPhone
3。 How to parse JSON in iOS App

学习JSON解析尝试在您的应用中执行此操作,如果您遇到问题,请在此处发布。

答案 2 :(得分:0)

首先需要执行以下操作: 您将此代码嵌入viewdidLoad函数中:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http:your URL path for json file"]];
    [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
});

然后你必须添加这个功能:

-(void)fetchedData:(NSData *)responseData{
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
jsonResults = [json objectForKey:@"Content"];
}

[self.tableView reloadData];

}

希望这会对你有所帮助