6

有効なデータを含む .json ファイルがあります。オンラインでホストし、アプリでライブ URL を使用したいと考えています。json ファイルをドロップ ボックスに入れて、 http://jsonformatter.curiousconcept.comサイトで json データを確認しようとしましたが、「JSON データの URL に JSON データが含まれていません」と表示されます。これを達成できる他の方法はありますか? ありがとう。

4

7 に答える 7

18

ホスティング プロバイダーに料金を支払いたくない場合や、料金を支払う前にアプリをテストしたい場合は、引き続き Dropbox を使用できます。

これを行うには、この Dropbox の記事に記載されているようwww.dropbox.comに、URLの一部を に置き換える必要があります。dl.dropboxusercontent.com

これは他の人(私を含む)に役立つ可能性があるため、主にこの回答を将来に残しています。

于 2013-08-29T22:03:22.723 に答える
5

では、静的な JSON ファイルを Web サーバーでホストして、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 の記事へのリンクを削除しました。安価なウェブホスト オプションを追加しました。

于 2013-08-29T21:44:15.590 に答える
2

以外ではmyjson.com、 でホストしpastebin.com、「Raw」リンクを使用してアクセスできます。pastebin.comオーバーの利点はmyjson.com、有効期限を設定してから自動削除できることです。

于 2015-08-12T10:35:45.617 に答える
1

ドロップ ボックスは、このための理想的なソリューションではありません。私は S3 またはその性質のものを使用します。

于 2013-08-29T20:35:11.917 に答える