[英]Parsing JSON object for iOS application
目前,我的iPhone應用程序中有一個URL,其中包含必須解析的JSON對象。
我能夠獲取JSON對象,將對象轉換為NSString,現在的問題是解析對象/ NSString對象。
我目前正在使用SBJSON。
如何使用SBJSON的框架遍歷JSON對象的關鍵元素?
{
"status":"SUCCESS",
"fields":[
{
"type":"instant",
"field":"GenerationPower",
"label":"now",
JSON對象比這些鍵和鍵元素要大得多,但是一旦解決了此問題,我相信其余的JSON對象將很容易,因為我將提供參考。
謝謝Stackoverflow!
編輯:這是一些代碼來澄清我的問題。
+ (NSString *) pullingInfo
{
NSURL *solarWebURL = [NSURL URLWithString:myurl];
if (solarWebURL)
{
NSLog(@"Calling: %@", solarWebURL);
NSData *jsonData = [NSData dataWithContentsOfURL:solarWebURL];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
return jsonString;
}
NSString* errorMessage = @"Error reading URL";
return errorMessage;
}
+ (NSDictionary *) jsonDictionaryObject
{
NSDictionary * jsonDictionary = [[NSDictionary alloc] init];
NSString * monroeString = [MonroeParser pullingInfo];
return jsonDictionary;
}
因此,正如我之前所說,我已經將JSON對象加載到NSString對象“ jsonString”中。 現在,我想開始解析字符串。
我想我可能甚至不需要使用JSON的框架來進行解析,我可能可以使用Apple提供的NSString約定來解析NSString。
有任何想法嗎? 但這可能效率不高。
既然您正在使用SBJSON,為什么還要將NSData轉換為NSString? 您可以對SBJSONParser使用-objectWithData
方法將NSData直接讀入NSDictionary。
http://sbjson.org/api/3.2/Classes/SBJsonParser.html#//api/name/objectWithData :
讓PullingInfo返回一個id。 然后在調用函數時檢查id是否為NSDictionary或NSArray類型,並進行相應的解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.