有効なデータを含む .json ファイルがあります。オンラインでホストし、アプリでライブ URL を使用したいと考えています。json ファイルをドロップ ボックスに入れて、 http://jsonformatter.curiousconcept.comサイトで json データを確認しようとしましたが、「JSON データの URL に JSON データが含まれていません」と表示されます。これを達成できる他の方法はありますか? ありがとう。
7 に答える
ホスティング プロバイダーに料金を支払いたくない場合や、料金を支払う前にアプリをテストしたい場合は、引き続き Dropbox を使用できます。
これを行うには、この Dropbox の記事に記載されているようwww.dropbox.com
に、URLの一部を に置き換える必要があります。dl.dropboxusercontent.com
これは他の人(私を含む)に役立つ可能性があるため、主にこの回答を将来に残しています。
では、静的な JSON ファイルを Web サーバーでホストして、iOS アプリが開いて解析できるようにします。いくつかのステップとわずかな学習曲線がありますが、私が読んでいるものから、これが役立つかもしれません.
ステップ 1:混乱しているように見えるため、JSON が有効であることを確認します。メモ帳などのテキスト エディターで JSON を開きます。それをコピーして、このサイトのテキスト領域に貼り付けます。
解析エラーが発生した場合は、その行を見つけて編集してください。これができない場合、または JSON が有効な場合は、この問題を停止して解決してください。
ステップ 2: Dropbox を使用してこれを行うこともできますが、実際のアプリには適していません。ウェブホストを取得します。基本的なスキル レベルに応じて、Amazon、Heroku などのクラウド プロバイダーを使用できます。この質問に基づいて、基本的な ftp サイトをお勧めします。無料/安価なウェブホストがたくさんあります。
「無料プラン」で注意したい唯一のことは、ページに広告が挿入されないことです。(GoDaddy を見ています。)
ステップ 3: (iOS アプリのセットアップがあると仮定)
プロジェクトに AFNetworking を追加し、AFJSONOperation を設定します。
次のコードを使用します。
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 の記事へのリンクを削除しました。安価なウェブホスト オプションを追加しました。
以外ではmyjson.com
、 でホストしpastebin.com
、「Raw
」リンクを使用してアクセスできます。pastebin.com
オーバーの利点はmyjson.com
、有効期限を設定してから自動削除できることです。
ドロップ ボックスは、このための理想的なソリューションではありません。私は S3 またはその性質のものを使用します。