我正在開發帶有最新SDK和XCode 4.2的iOS應用程序。JSON解析錯了嗎?
爲了解析JSON響應,我使用這個JSON解析器:https://github.com/stig/json-framework/
我收到來自Web服務這個JSON字符串(這是控制檯日誌):
2012-02-16 08:21:59.525 JReader[558:207] {"rules": [
{ "id_categoria": "3","categoria": "cat03" },{ "id_categoria": "2","categoria": "cat02" }
]
}
JSON解析器解析到一個NSArray
與這兩個元素(這是控制檯日誌):
2012-02-16 08:22:04.910 JReader[558:207] {
categoria = "cat03";
"id_categoria" = 3;
}
2012-02-16 08:22:04.911 JReader[558:207] {
categoria = "cat02";
"id_categoria" = 2;
}
Objective-C代碼解析是:
- (IBAction)go:(id)sender
{
parser = [[SBJsonParser alloc] init];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://XXX"]];
NSData* response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
// parse the JSON response into an object
// Here we're using NSArray since we're parsing an array of JSON status objects
NSLog(@"%@", json_string);
NSDictionary* datos = [parser objectWithString:json_string error:nil];
NSArray* data = [datos objectForKey:@"rules"];
for (int i = 0; i < data.count; i++)
{
NSLog(@"%@", [data objectAtIndex:i]);
}
}
我期待有一個NSDictionary
這些對:
key value
============ ============
categoria cat03
id_categoria 3
我的問題:
是否有任何錯誤的json字符串?
爲什麼要這樣解析?
這是我第一次解析JSON,所以我不知道它是否解析得很好。
它有什麼問題? – 2012-02-16 07:36:06
爲什麼這不是您的預期產出?你認爲什麼是錯的? – 2012-02-16 07:36:46
我已經用我期待的內容更新了我的問題。這是我第一次json parsin,所以我不知道它是否正確。 – VansFannel 2012-02-16 07:40:53