iOS作為移動端最流行的操作系統之一,是支持多種方式進行JSON/XML解析的。下面將介紹其中常用的幾種方法。
1. NSJSONSerialization
NSError *error = nil; NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
該方法是iOS7以后新增加的解析JSON數據的方法,使用起來非常方便。只需要將獲取的數據以NSData類型傳入,通過調用NSJSONSerialization的JSONObjectWithData方法,即可得到一個NSDictionary或NSArray對象。
2. JSONKit
NSDictionary *jsonDict = [data objectFromJSONData];
JSONKit是一個第三方庫,相比較于iOS原生的解析方法,JSONKit能夠更快地解析JSON數據。使用起來也很簡單,只需要將NSData類型的數據通過調用objectFromJSONData方法,即可得到NSDictionary或NSArray對象。
3. XMLParser
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData]; [xmlParser setDelegate:self]; [xmlParser parse];
XML數據較為復雜,解析起來相對比較麻煩。iOS原生提供了NSXMLParser類,可以用于解析XML數據。需要實現NSXMLParserDelegate協議,并通過設置delegate對象來進行解析。
4. TBXML
TBXML *tbxml = [[TBXML alloc] initWithXMLData:data]; TBXMLElement *root = tbxml.rootXMLElement;
TBXML是一個第三方庫,相對于iOS原生的解析方法,TBXML可以更快地解析XML數據,并提供了更加方便的API。通過alloc一個TBXML對象,并將XML數據傳入初始化方法,即可獲取XML的根元素。通過訪問TBXMLElement的屬性,即可獲得元素名稱、元素內容、元素屬性等信息。