[{
"ID": 122,
"Name": "Mr.A",
"Phone": "2222"
}, {
"ID": 3332,
"Name": "Mr.B",
"Phone": "3333"
}, {
"ID": 1021,
"Name": "Mr.C",
"Phone": "1313"
}, {
"ID": 2221,
"Name": "Dinesh",
"Phone": "103"
}]
我这样编码,但它仍然不起作用!
NSString *urlString = [NSString stringWithFormat:@"My page"];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSMutableArray *json = (NSMutableArray*)[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@",json);
我的Json变量仍然无法获取数据。
答案 0 :(得分:3)
打印错误。打印数据。 "它没有工作"没有丝毫的检查?
PS。该调用的结果将永远成为NSMutableArray,因此等待发生崩溃。演员表并没有使它成为NSMutableArray。
答案 1 :(得分:0)
@Sengvuthy Pheng, 以下是示例代码: 在我的ViewController.h中
@interface ViewController : UIViewController <NSXMLParserDelegate>
在我的ViewController.m
中- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *urlString = [NSString stringWithFormat:@"your url"];
NSURL *url = [NSURL URLWithString:urlString];
NSXMLParser *myParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[myParser setDelegate:self];
[myParser parse];
}
-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName attributes:(NSDictionary*)attributeDict {
NSLog(@"didStartElement");
}
- (NSString *)nameForNode:(NSDictionary *)node inDictionary:(NSDictionary *)dict {
NSLog(@"nameforNode");
return nil;
}
- (void)parser:(__unused NSXMLParser *)parser didEndElement:(__unused NSString *)elementName namespaceURI:(__unused NSString *)namespaceURI qualifiedName:(__unused NSString *)qName {
NSLog(@"didEndElement");
}
- (void)parser:(__unused NSXMLParser *)parser foundCharacters:(NSString *)string {
NSLog(@"foundCharacters");
NSLog(@"JSONdata = %@", string);
NSData* data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:nil error:&e];
NSLog(@"jsonArray = %@", array);
}
- (void)parser:(__unused NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock {
NSLog(@"foundCDATA");
}
- (void)parser:(__unused NSXMLParser *)parser foundComment:(NSString *)comment {
NSLog(@"foundComment");
}