0

アプリで大量の JSON を解析します。バックエンドがなければ、まったく役に立たないアプリになってしまいます。これは、他の多くのアプリにも当てはまります。JSON を解析するには、データにアクセスするためのキーのリストが必要です。これらのパス/文字列リテラルを管理するための「ベストプラクティス」または少なくとも「いまいましいグッドプラクティス」と見なされるものを知りたいです。そのようなキーを管理し、重複を減らすのに役立つツールはありますか?

  1. それらをハードコーディングすることは間違いなくオプションではありませんが、率直に言って、バックエンドプログラマーがキーを変更した場合、概念的には、XCode (または使用している IDE) での単純な検索/置換で十分です。それは醜く汚れていますが、コード全体に文字列リテラルを配置するのは汚いと感じています。

  2. 私が現在行っていることは、それらすべてを PCH ファイルに入れることです。つまり、最終的には次のようになります。

    #define kBookmarksSearchResultsIDFieldName @"business.id"

    #define kBookmarksSearchResultsNameFieldName @"business.name"

    #define kBookmarksSearchResultsThumbnailURLFieldName @"business.display_image.images.small_mobile.source"

    #define kBookmarksBusinessCategoryArrayFieldName @"business.categories"

    これは非常に速く扱いにくくなりますが、今では PCH ファイルに約 1000 行のこれらのものがあります。

  3. 私が検討しているもう 1 つのオプションは、これらを個別の .h ファイルに分割することです。ただし、アプリの 2 つのコンポーネントが同じキーを使用することになった場合 (たとえば、businessオブジェクトがブックマークやレビューのために JSON に埋め込まれている場合)そのビジネスの) 次に、オブジェクトの JSON パスを含む .h をインポートする必要がありbusinessます。したがって、この場合も同じデータをすべてインポートしていますが、ファイル構成がきれいになっているだけです。

私の目標は次のとおりです。

  1. JSON の解析に使用される文字列リテラルの簡単な管理
  2. 必要な複製の量を減らす
  3. 必要に応じて JSON パスを簡単に変更/置換

上記のオプション 3 (個別の .h ファイル) は最適なオプションですか? 皆さんは何を使用していますか? また、簡単なツールがありませんか (いや、JSONModel はオプションではありません。これは、JSON キーを ivar/プロパティ名と一致させる必要があるためです。バックエンドは多くのiOS だけのために JSON キーを変更することはできません)。

4

2 に答える 2

1

JSONドキュメントを一連のObjective-CクラスにマップできるRestKitなどのライブラリの使用を検討してください。これは、キー名を追跡する代わりに、ドキュメントを読み込んで、プロパティで操作できるオブジェクトの配列を取得できることを意味します。はるかに簡単で、Xcode はクラスを操作するときにプロパティ名をオートコンプリートします。

多少の設定が必要ですが、一度だけ行う必要があります。:)

于 2013-03-30T06:42:12.233 に答える