iOS - 托管JSON文件以使用URL解析它

时间:2013-08-29 20:33:19

标签: ios json rest web-hosting

我有一个包含有效数据的.json文件。我想在线托管并在我的应用中使用实时网址。我尝试将json文件放在drop box中并尝试验证http://jsonformatter.curiousconcept.com站点上的json数据,但它显示“JSON数据URL不包含JSON数据”有没有其他方法可以实现此目的?感谢。

7 个答案:

答案 0 :(得分:18)

如果您不想为托管服务提供商付费,或者只是想在支付应用之前测试您的应用,您仍然可以使用Dropbox。

要执行此操作,您需要将www.dropbox.com部分更改为dl.dropboxusercontent.com,如this Dropbox article中所述。

我主要是为了将来留下这个答案,因为这对其他人(包括我)很有用。

答案 1 :(得分:18)

这正是我想用http://www.myjson.com解决的问题 托管JSON的简单易用的解决方案。

答案 2 :(得分:5)

好的,所以你想在网络服务器上托管静态JSON文件,这样iOS应用就可以打开并解析它。有几个步骤和一个轻微的学习曲线,但从我正在阅读的内容可能会对你有帮助。

第1步:验证您的JSON是否有效,因为它似乎存在一些混淆。在文本编辑器中打开JSON,如记事本。将其复制并粘贴到此站点的文本区域中:

  

http://jsonlint.com/

如果出现解析错误 - 找到该行并进行编辑。如果您无法执行此操作或JSON有效 - 请停止并解决此问题。

第2步: 虽然您可以使用Dropbox来实现这一点,但对于真正的应用程序来说这不是一个好主意。获得一个网络主机。根据您的基本技能水平,您可以使用像Amazon,Heroku等云提供商。基于这个问题 - 我建议一个基本的ftp站点。有大量免费/廉价的虚拟主机。

  

https://www.google.com/search?q=cheap+web+hosting

您唯一想要注意的是“免费计划”,因为他们不会在您的网页中注入广告。 (我在看你GoDaddy。)

第3步:(假设您已安装iOS应用)

将AFNetworking添加到项目中并设置AFJSONOperation。

  

http://afnetworking.com/

并使用以下代码:

  NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar.json"];

  NSURLRequest *request = [NSURLRequest requestWithURL:url];

  AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON){

        NSLog(@"JSON: %@", JSON);


    }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

        NSLog(@"error: %@ response: %@", error, response);


    }];

[operation start];

修改:删除了Dropbox文章的链接。添加了便宜的虚拟主机选项。

答案 3 :(得分:4)

您可以在这里保存您的JSON https://quarkbackend.com - 免费json hosting

此工具可让您管理文件,更新文件后网址不会更改

答案 4 :(得分:1)

Drop box不是理想的解决方案。我会使用S3或那种性质的东西。

答案 5 :(得分:1)

myjson.com以外,您可以在pastebin.com中托管,并使用" Raw"链接访问它。 pastebin.com优于myjson.com的优点是,您可以设置一个到期时间,之后将自动删除。

答案 6 :(得分:1)

第1步:创建一个GitHub Gist帐户。

第2步:使用您的JSON内容创建新的Gist文件并获取原始网址

对于实例: “https://gist.githubusercontent.com/YOUR_ACCOUNT_NAME/0df1fa45aa11753de0a85893448b22de/raw/YourData.txt”;

第3步:通过在GET请求模式下调用WebService,从您的应用中检索文件内容。