我正在尝试创建一个类似于这样创建的数组:
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]
答案 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一样建议,可以使用valueForKeyPath
或valueForKey
方法进行访问。
NSArray * tmp = @[
@{@"name": @"matt", @"genre" : @"Photography"},
@{@"name": @"jamie", @"genre" : @"Art"}
];
NSLog(@"name is : %@", tmp[0][@"name"]);
NSLog(@"name is : %@", [tmp valueForKeyPath:@"name"][0]);