我可以成功地解析JSON文件的內容,使用JSON-Framework 3.0中,但我不能夠提取的NSArray的所有元素。不能訪問的NSArray的內容對JSON框架iPhone
在這條線(如下所示)link = [myJsonArray objectAtIndex:0];
應用崩潰給我在控制檯上這樣的信息:-[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0x70ea20
。
這裏是我的代碼:
NSError *error;
NSString *link;
NSArray *myJsonArray;
NSString *jsonString = [[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myJSONfile" ofType:@"json"] encoding:NSUTF8StringEncoding error:&error];
SBJsonParser *parser = [[SBJsonParser alloc] init];
myJsonArray = [[parser objectWithString:jsonString error:&error] copy];
[parser release];
link = [myJsonArray objectAtIndex:0];
NSLog(@"json returns: %@", myJsonArray);
,這裏是我的JSON文件:
{
"Programs": [
{"link1": "http://www.myWebSite1.aspx",
"program name": "Live Show at 9",
"speaker": "Dr. Speaker 1"},
{"link2": "http://www.myWebSite2.aspx",
"name": "Dr. Speaker 2",
"speaker": "Live Show at 10"}
]
}
這是日誌輸出:
JSON Output: {
Programs = (
{
link1: "http://www.myWebSite1.aspx",
program name: "Live Show at 9",
speaker: "Dr. Speaker 1"},
{link2: "http://www.myWebSite2.aspx",
program name: "Dr. Speaker 2",
speaker: "Live Show at 10"}
);
}
我到底做錯了什麼?謝謝你的幫助!
仍然顯示所有元素,我不知道爲什麼。 – Winston
也許是因爲你正在記錄整個對象。試試NSLog(@「link1:%@」,[[[myJsonArray objectForKey:@「Programs」] objectAtIndex:0] objectForKey:@「link1」]) – javieralog
現在我明白了!雖然我收到了這個警告:語義問題:'NSArray'可能不會響應'objectForKey:'任何想法爲什麼?謝謝! – Winston