簡體   English   中英

解析iOS應用程序的JSON對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM