过滤数据来自wikimedia api ios

时间:2013-07-24 08:59:00

标签: iphone ios objective-c mediawiki wikipedia

在搜索 Anil_Ambani 时,我从wikipedia api得到了json的响应。我用过这个api。我收到了以下回复

<i>$2 = 0x071882f0 {{BLP sources|date=June 2012}}
{{Infobox person
| name             = Anil Ambani 
| image            =AnilAmbani.jpg
| image_size       = 
| caption          = Ambani in 2009
| birth_date       = {{Birth date and age|1959|6|4|df=y}}
| birth_place      = [[Mumbai]], [[Maharashtra]], [[India]]
| nationality      = Indian
| occupation       = Chairman of [[Anil Dhirubhai Ambani Group]] 
| networth         = {{loss}} [[United States dollar|$]]5.2 billion (2012)<ref         name="forbes.com">[http://www.forbes.com/profile/anil-ambani/.] Forbes.com. Retrieved April 2013.</ref> 
| residence        = Mumbai, Maharashtra, India
| alma_mater       = [[Warwick Business School]]<br />[[Wharton School of the University of Pennsylvania|The Wharton School]]
| parents          = [[Dhirubhai Ambani]]<br>Kokilaben Ambani
| brother          = [[Mukesh Ambani]]
| spouse           = [[Tina Ambani]]
| children         = 2<ref>{{cite web|url=http://www.indiatoday.com/itoday/20050221/power9.html |title=India Today 2005 Power List |publisher=Indiatoday.com |date=2005-02-21 |accessdate=2010-12-31}}</ref>
|religion         = [[Hinduism]]  
|relations        = [[Mukesh Ambani]] (Brother)
|website          = {{URL|http://www.relianceadagroup.com/ada/chairman.html|Anil Ambani}} 
|footnotes        = 
}}

任何人都可以指导我如何过滤数据。因为它是一个NSString。我无法将其转换为字典。如何获得姓名,出生日期,出生地等的价值

1 个答案:

答案 0 :(得分:0)

第一种方法: - 首先从字符串中删除空格和不相关的字符。
然后,以这种方式进行: -

NSArray *testArray = [yourString componentsSeparatedByString:@"|"];
NSString *key = [testArray objectAtIndex:0];
NSArray *values = [testArray subarrayWithRange:NSMakeRange(1, [testArray count] - 1)];
NSDictionary *dict = [NSDictionary dictionaryWithObject:values forKey:key];


您可以轻松获得特定键的价值,如姓名,出生地等。

第二种方法: -

NSError *err = nil;
NSArray *arr = [NSJSONSerialization JSONObjectWithData:[yourString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&err];


NSMutableDictionary *dict = arr[0];
    for (NSMutableDictionary *dictionary in arr) {
        // do something using dictionary
    }