无法从JSON获得单个结果

时间:2018-03-09 03:10:10

标签: ios objective-c json

我正在尝试使用Objective-C解析一个简单的JSON。 我的JSON文件如下所示:

{ "videosource": "hello my value" }

我的iOS Objective-C代码:

NSError *error;
NSString *url_string = [NSString stringWithFormat: @"http://www.mywebsite.com/test"];
NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:url_string]];
NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"my -> json: %@", json);

//NSString *str = json[0]; //<- this one doest not work it makes app crush
//__NSSingleEntryDictionaryI objectAtIndexedSubscript:]: unrecognized selector sent to instance

//NSUInteger num = 0;
//NSString *str = [json objectAtIndex:num]; <- this one doest not work it makes app crush

我试图从JSON的videosource键中获取值。怎么做?

1 个答案:

答案 0 :(得分:2)

您的JSON是字典,而不是数组。 function addSomeNumber(num) {return num + 100;} function addSomeNumber(num) {return num + 200;} 表示字典。 { }表示数组。很简单。

[ ]

另外,你真的不应该使用NSError *error = nil; NSString *url_string = @"http://www.mywebsite.com/test"; NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:url_string]]; NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; if (json) { NSString *source = json[@"videosource"]; } else { NSLog(@"Error parsing JSON: %@", error); } 。使用NSData dataWithContentsOfURL:从远程URL获取数据。