iPhone/iOS JSON解析教程

104
作为一个学习经验,我想制作一个iPhone应用程序,调用一个Web服务器/ Web服务,检索JSON响应,并使用该响应来填充UITableView的行(假设首先将JSON转换为NSArray )。
有人知道可能有用的东西吗?
6个回答

164

你一定会喜欢这个框架

同时,你也一定会喜欢这个工具

如果你想学习JSON,你可能会喜欢这个资源

而且你很可能会喜欢这个教程


你说得很对,我也喜欢那个。非常感谢 @icnivad 给了我这个线索,这非常有用。 - Casey Flynn
你提到的教程需要 DMG 文件,但我在你提供的框架链接中找不到任何 DMG 文件。该链接指向 Github,并包含一个带有各种类和示例的 zip 文件,但我不知道哪一部分需要插入我的项目中。你能帮我吗? - alekhine
2
是的,那个项目已经迁移到 Github 上了。在这里获取它:https://github.com/stig/json-framework/。 - Todd Hopkinson
您很可能也会喜欢hurl.it。 - Caspar Harmer
如果能够构建,那个SBJson东西会很不错。但在我的OS X Lion的Xcode 4中有44个错误。 - Sarah Vessels
我非常喜欢这个答案。我也非常喜欢它的写作方式。现在我一定会把它投赞成的。;) - driechel

57

从iOS 5.0开始,苹果提供了NSJSONSerialization类,“用于将JSON转换为Foundation对象并将Foundation对象转换为JSON”。无需引入外部框架,并且根据基准测试显示,其性能非常好,明显优于SBJSON。


只要不打算支持iOS 4及更早的版本,这个词非常好。 - Sanjay Chaudhry
18
由于现在已经是2012年,而iOS6即将到来——这更有可能是事实。 - Abizern
1
基准测试结果为“404未找到”。 - Pang
一些更新的基准测试,显示NSJSONSerialization是最快的:https://dev59.com/I2Qo5IYBdhLWcg3wOtQC - darrinm

6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }

感谢提供代码示例! - Flea

4

4

试试这个最快的JSON框架 JSONKit。它比普通的JSON框架更快。


1
你说得对,这真是飞快! - Ivan Fioravanti
最好的JSON框架 +1 - user2560622

1
这是一个教程链接,它将引导您完成以下步骤:
  • 从头开始创建JSON WCF Web Service(以及需要避免的问题)
  • 将其适应于读/写SQL Server数据
  • 让iOS 6应用程序使用JSON服务。
  • 使用JavaScript使用JSON Web服务

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

所有源代码都是免费提供的。享受吧。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接