-1

私はこのようにjsonを解析したい:

特定の結婚式やセレモニーの Photo_name を取得したい。

結婚式の写真名の配列と、式典の写真名の配列を保持したい。

{
 -f1: {
      Photos: {
          Wedding: [
                    {
                    Photo_id: "99",
                    Photo_name: "2WLB4cSJtg.jpg",
                    User_id: "11",
                    Date: "0000-00-00"
                    },
                    {
                    Photo_id: "97",
                    Photo_name: "EjOCbkWwmF.jpg",
                    User_id: "11",
                    Date: "0000-00-00"
                    },
                    {
                    Photo_id: "90",
                    Photo_name:"18e7af197f2060ad1c58d95c38f16ecc.jpg",
                    User_id: "11",
                    Date: "2013-07-24"
                    }
                  ],
        Ceremony: [
                   {
                    Photo_id: "96",
                    Photo_name: "hTWiAQUDnL.jpg",
                    User_id: "11",
                    Date: "0000-00-00"
                   },
                  {
                   Photo_id: "92",
                   Photo_name: "529753_425904027490910_737057237_n.jpg",
                   User_id: "11",
                   Date: "2013-07-24"
                  },
                  {
                   Photo_id: "93",
                   Photo_name: "yCbKG8txQY.jpg",
                   User_id: "11",
                   Date: "0000-00-00"
                  },
                  {
                   Photo_id: "94",
                   Photo_name: "k9goxnlscT.jpg",
                   User_id: "11",
                   Date: "0000-00-00"
                  },

                 ]
          }
      }
  }

このコードはキー f1 を与え、json のすべてを値として表示します。

 NSString *str=[[NSString alloc]initWithBytes:[webdata mutableBytes] length:[webdata length] encoding:NSUTF8StringEncoding];

   NSMutableDictionary *result = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
    for (id thekey in result) {
        NSLog(@"KEY %@ VALUE %@",thekey,[result valueForKey:thekey]);

     }
4

2 に答える 2

1
NSString *str=[[NSString alloc]initWithBytes:[webdata mutableBytes] length:[webdata length] encoding:NSUTF8StringEncoding];

NSMutableDictionary *result = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];


NSArray *weddingPhotos = [[[[result valueForKey:@"f1"] valueForKey:@"Photos"] valueForKey:@"Wedding"] valueForKeyPath:@"Photo_name"];
NSLog(@"%@",weddingPhotos);

NSArray *ceremonyPhotos = [[[[result valueForKey:@"f1"] valueForKey:@"Photos"] valueForKey:@"Ceremony"] valueForKeyPath:@"Photo_name"];
NSLog(@"%@",ceremonyPhotos);

これを試して。(未テスト)

于 2013-07-24T09:34:02.440 に答える