0

json http://gdata.youtube.com/feeds/api/users/ruflixnet/playlists?v=2&alt=jsoncが あり、ID、タイトル、サイズを取得したいのですが、今はそれを行う方法はありません。

4

4 に答える 4

2

JSONKitをお勧めします(ベンチマークを見てください)

非常に高性能な Objective-C JSON ライブラリ

解析中

ここに画像の説明を入力

于 2012-06-04T08:36:07.953 に答える
1

JSON ライブラリをダウンロードし、それをプロジェクトに含めて、データ用に次のクラスを作成します NSObject クラスを作成します

ObjectData.h

  @interface ObjectData : NSObject {

NSString *id; 
NSString *title;
NSString *size;

  }
@property(nonatomic,retain) NSString *id;
@property(nonatomic,retain) NSString *title; 
@property(nonatomic,retain) NSString *size;
@end

ObjectData.M

   #import ObjectData.h

  @implementation ObjectData

  @synthesize id; 
  @synthesize title;
  @synthesize size;
  @end

別の DataController クラスを作成する

  #import <Foundation/Foundation.h>


  @interface DataController : NSObject {

  }

  + (id)staticVersion;
 - (NSMutableArray *) startParsing:(NSString *)theURLString;
  end


 #import "DataController.h"
 @implementation DataController
 DataController *theInstance;

  +(id)staticVersion
                            {
if(!theInstance){
    theInstance = [[DataController alloc] init];
}
return theInstance;
   }



   - (NSMutableArray *) startParsing:(NSString *)theURLString {

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",theURLString]];
NSString *fileContent= [NSString stringWithContentsOfURL:url];
SBJSON *parser = [[SBJSON alloc] init];  
NSDictionary *data = (NSDictionary *) [parser objectWithString:fileContent error:nil];  
NSArray *items = (NSArray *) data ;  
return items;
    }

   @end

そしてビューで読み込みました

  NSArray *tempArray =[[DataController staticVersion] startParsing:serverName];

   for (int i = 0; i<[tempArray count]; i++) {
id *item = [tempArray objectAtIndex:i];
NSDictionary *dict = (NSDictionary *) item;

ObjectData *theObject =[[ObjectData alloc] init];
[theObject setid:[dict objectForKey:@"id"]];
[theObject settitle:[dict objectForKey:@"title"]];  
[theObject setsize:[dict objectForKey:@"size"]];



[resultArray addObject:theObject];
[theObject release];
theObject=nil;

最後に、preferenc.h ファイルを作成し、json データ パスを指定します。

  #import <Foundation/Foundation.h>

  #define serverName @"http://gdata.youtube.com/feeds/api/users/ruflixnet/playlists?v=2&alt=jsonc"

これがうまくいくことを願っています

于 2012-06-04T11:39:34.293 に答える
1

たとえば、SBJSON ライブラリを使用します。IVe は常にそれらを使用しており、かなり優れています。

ここにチュートリアルがあります:

http://blog.zachwaugh.com/post/309924609/how-to-use-json-in-cocoaobjective-c

于 2012-06-04T08:32:55.190 に答える
0

SBJsonを使用

SBJsonParser *parser = [[SBJsonParser alloc] init];

NSMutableDictionary *dicRes = [parser objectWithString:stringFromServer error:nil];
于 2012-06-04T08:40:58.290 に答える