【问题标题】:iOS - Hosting JSON file to parse it using URL [closed]iOS - 托管 JSON 文件以使用 URL 解析它 [关闭]
【发布时间】:2013-08-29 20:33:18
【问题描述】:

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

【问题讨论】:

  • 那么,您有有效的 JSON 数据,但有些东西告诉您没有,并且您没有共享 JSON?
  • 您是否生成了共享链接,以便您确实可以通过访问 URL 以纯文本形式访问它
  • 您需要共享原始数据 URL,而不是 Dropbox 共享链接。不过,我不知道该怎么做。
  • 只需获取主机并将其放在那里。这不是 Dropbox 的用途。

标签: ios json rest web-hosting


【解决方案1】:

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

为此,您需要将 URL 的 www.dropbox.com 部分替换为 dl.dropboxusercontent.com,如 this Dropbox article 中所述。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 确实是非常优雅的解决方案。谢谢兰斯。
    • 这是一种非常不安全的方法。据我了解,任何人都可以修改其他人的 JSON。
    • myjson.com 是否支持在同一 URL 上编辑 JSON??
    • @AshishSajwan 我认为没有。使用此链接stackoverflow.com/a/50667231/1179638
    【解决方案3】:

    好的,所以您想在网络服务器上托管一个静态 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 文章的链接。添加了廉价的虚拟主机选项。

    【讨论】:

    • 谢谢。我使用了 x10 网络托管,现在它工作正常。感谢您的详细解释..
    【解决方案4】:

    您可以在此处保存您的 JSON https://quarkbackend.com - 免费 json 托管

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

    【讨论】:

    • 你太棒了..
    【解决方案5】:

    除了myjson.com,您可以将它托管在pastebin.com 并使用“Raw”链接访问它。 pastebin.com 相对于 myjson.com 的优势之一是您可以设置过期时间,超过此时间将自动删除。

    【讨论】:

      【解决方案6】:

      投递箱不是解决此问题的理想解决方案。我会使用 S3 或类似的东西。

      【讨论】:

      【解决方案7】:

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

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

      例如: "https://gist.githubusercontent.com/YOUR_ACCOUNT_NAME/0df1fa45aa11753de0a85893448b22de/raw/YourData.txt";

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

      【讨论】:

        猜你喜欢
        • 2021-03-06
        • 2014-09-21
        • 2012-06-22
        • 1970-01-01
        • 2011-09-18
        • 1970-01-01
        • 2013-09-02
        • 1970-01-01
        • 2011-08-14
        相关资源
        最近更新 更多