创建一个格式数组array [] [@" string"];

时间:2014-07-07 11:59:12

标签: ios objective-c arrays nsarray

我正在尝试创建一个类似于这样创建的数组:

NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"www.example.com/j.php"]];
NSError *error = nil;
if (jsonData) {
     result = [NSJSONSerialization JSONObjectWithData:jsonData
                                              options:NSJSONReadingMutableContainers 
                                                error:&error];
}

其中www.example.com/j.php JSON看起来像这样:

[{"name":"matt","genre":"Photography","info":"foo","date":"2014-06-12"},{"name":"jamie","genre":"Art","info":"Bar","date":"2014-06-13"}]

然后使用此数组,如

result[indexPath.row][@"name"];

如何使用我自己的名称,流派和信息构建一个新的NSArray,其格式与上面的相同?


我尝试使用日志打印数组,但它出现为(null)

我知道我不会这样创建它:

[NSArray arrayWithObjects: @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", nil]

3 个答案:

答案 0 :(得分:5)

NSArray的{​​{1}}。

NSDictionary

您必须使用给定的示例创建它。

答案 1 :(得分:0)

使用此代码我希望对您有所帮助:

 for (NSDictionary *data in jsonObjects) {


            NSString *name_data           =  [data objectForKey:@"name"];
            NSString *secteur_data      =  [data objectForKey:@"genre"];
            NSString *société_data      =  [data objectForKey:@"info"];

     DictionaryOfname = [NSDictionary dictionaryWithObjectsAndKeys:
                               [data objectForKey:@"name"],@"name",
                                  [data objectForKey:@"genre"],@"genre",
                                 [data objectForKey:@"info"],@"info",
                                   nil];

            [Listeofname addObject:DictionaryOfname];
    }

答案 2 :(得分:0)

你可以像@Yogesh Suthar一样建议,可以使用valueForKeyPathvalueForKey方法进行访问。

NSArray * tmp = @[
                      @{@"name": @"matt", @"genre" : @"Photography"},
                      @{@"name": @"jamie", @"genre" : @"Art"}
                 ];


    NSLog(@"name is : %@", tmp[0][@"name"]);
    NSLog(@"name is : %@", [tmp valueForKeyPath:@"name"][0]);