-1

私はyajlパーサーを使用しているいくつかのコードを持っています:

NSArray *JSONArray = [tempContainer yajl_JSON];
NSLog(@"array of json is = %@",JSONArray);  

解析後、次のようなjsonデータを取得しました

{ 
  "account_number": "123", 
  "some_stuff": "231",
}

私の質問は次のとおりです。解析されたデータの特定の値からデータを取得する方法です。

*元。「account_number」が欲しいのですが、「123」が返されます*

4

2 に答える 2

0

あなたの質問は明確でタイプミスのないものでなければなりません

質問に入力したのと同じ形式で json データを取得していますか、それとも単なるタイプミスですか?

あなたのjsonデータは { "account_number": "123", "some_stuff": 231, } のようなものだと思います

それは単純な辞書であり、valueForKey メソッドを使用して値を取得できます。

于 2012-03-21T21:36:11.833 に答える
0

ストリーミング API を調べて、JSON から NSMutableDictionaries を構築することをお勧めします。

NSData *data = [NSData dataWithContentsOfFile:@"example.json"];

 YAJLParser *parser = [[YAJLParser alloc] initWithParserOptions:YAJLParserOptionsAllowComments];
 parser.delegate = self;
 [parser parse:data];
 if (parser.parserError)
   NSLog(@"Error:\n%@", parser.parserError);

 parser.delegate = nil;
 [parser release];

 // Include delegate methods from YAJLParserDelegate 
 - (void)parserDidStartDictionary:(YAJLParser *)parser { }
 - (void)parserDidEndDictionary:(YAJLParser *)parser { }

 - (void)parserDidStartArray:(YAJLParser *)parser { }
 - (void)parserDidEndArray:(YAJLParser *)parser { }

 - (void)parser:(YAJLParser *)parser didMapKey:(NSString *)key { }
 - (void)parser:(YAJLParser *)parser didAdd:(id)value { }
于 2012-03-21T21:40:03.173 に答える