1

以前に辞書をシリアライズできましたが、複数のデータをシリアライズする方法がわかりません。

曲情報を連載したいのですが、複数の曲に対してはどうすればいいですか?文字列を出力する必要があるコードは次のとおりです。

NSArray *songs = [playlist items];              
  for (MPMediaItem *song in songs){

       NSString *title =[song valueForProperty: MPMediaItemPropertyTitle];
       NSString *artist =[song valueForProperty: MPMediaItemPropertyAlbumArtist];
       NSString *album =[song valueForProperty: MPMediaItemPropertyAlbumTitle];
       NSString *length =[song valueForProperty: MPMediaItemPropertyPlaybackDuration];
       NSLog(@"Title: %@\nArtist: %@\nAlbum: %@\nLength: %@",title,artist,album,length);

}

これをすべての曲の JSON で分離する方法がわかりません。

4

1 に答える 1

1

すべての について、 、 などと同等のキーと値のペアMPMediaItemで を作成します。次に、それぞれを変更可能な配列に追加します。最後に、配列を JSON にシリアル化します。例えば:NSDictionarytitleartist

NSMutableArray *mutableSongsToSerialize = [NSMutableArray array];
NSArray *songs = [playlist items];              
for (MPMediaItem *song in songs){
       NSString *title =[song valueForProperty: MPMediaItemPropertyTitle];
       NSString *artist =[song valueForProperty: MPMediaItemPropertyAlbumArtist];
       NSString *album =[song valueForProperty: MPMediaItemPropertyAlbumTitle];
       NSString *length =[song valueForProperty: MPMediaItemPropertyPlaybackDuration];
       NSDictionary *songDictionary = @{@"title": title, @"artist": artist, @"album":album, @"length":length};
       [mutableSongsToSerialize addObject:songDictionary];
}

NSData *jsonRepresentation = [NSJSONSerialization dataWithJSONObject:mutableSongsToSerialize options:0 error:NULL];
于 2013-08-21T20:44:35.440 に答える