Chr*_*ris 8 json objective-c ios4
你能告诉我如何传递一个如下所示的JSON字符串:
{"lessons":[{"id":"38","fach":"D","stunde":"t1s1","user_id":"1965","timestamp":"0000-00-00 00:00:00"},{"id":"39","fach":"M","stunde":"t1s2","user_id":"1965","timestamp":"0000-00-00 00:00:00"}]}
Run Code Online (Sandbox Code Playgroud)
我试过这样的:
SBJSON *parser =[[SBJSON alloc] init];
NSArray *list = [[parser objectWithString:JsonData error:nil] copy];
[parser release];
for (NSDictionary *stunden in list)
{
NSString *content = [[stunden objectForKey:@"lessons"] objectForKey:@"stunde"];
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
最好的祝福
小智 22
请注意,您的JSON数据具有以下结构:
相应的代码是:
SBJSON *parser = [[[SBJSON alloc] init] autorelease];
// 1. get the top level value as a dictionary
NSDictionary *jsonObject = [parser objectWithString:JsonData error:NULL];
// 2. get the lessons object as an array
NSArray *list = [jsonObject objectForKey:@"lessons"];
// 3. iterate the array; each element is a dictionary...
for (NSDictionary *lesson in list)
{
// 3 ...that contains a string for the key "stunde"
NSString *content = [lesson objectForKey:@"stunde"];
}
Run Code Online (Sandbox Code Playgroud)
几点意见:
在-objectWithString:error:,error参数是指向指针的指针.这是常见的做法NULL,而不是nil在这种情况下.在方法返回的情况下,不传递NULL和使用NSError对象来检查错误也是一个好主意nil
如果jsonObject仅在该特定方法中使用,则可能不需要复制它.上面的代码没有.
| 归档时间: |
|
| 查看次数: |
19738 次 |
| 最近记录: |