アプリで大量の JSON を解析します。バックエンドがなければ、まったく役に立たないアプリになってしまいます。これは、他の多くのアプリにも当てはまります。JSON を解析するには、データにアクセスするためのキーのリストが必要です。これらのパス/文字列リテラルを管理するための「ベストプラクティス」または少なくとも「いまいましいグッドプラクティス」と見なされるものを知りたいです。そのようなキーを管理し、重複を減らすのに役立つツールはありますか?
それらをハードコーディングすることは間違いなくオプションではありませんが、率直に言って、バックエンドプログラマーがキーを変更した場合、概念的には、XCode (または使用している IDE) での単純な検索/置換で十分です。それは醜く汚れていますが、コード全体に文字列リテラルを配置するのは汚いと感じています。
私が現在行っていることは、それらすべてを PCH ファイルに入れることです。つまり、最終的には次のようになります。
#define kBookmarksSearchResultsIDFieldName @"business.id"
#define kBookmarksSearchResultsNameFieldName @"business.name"
#define kBookmarksSearchResultsThumbnailURLFieldName @"business.display_image.images.small_mobile.source"
#define kBookmarksBusinessCategoryArrayFieldName @"business.categories"
これは非常に速く扱いにくくなりますが、今では PCH ファイルに約 1000 行のこれらのものがあります。
私が検討しているもう 1 つのオプションは、これらを個別の .h ファイルに分割することです。ただし、アプリの 2 つのコンポーネントが同じキーを使用することになった場合 (たとえば、
business
オブジェクトがブックマークやレビューのために JSON に埋め込まれている場合)そのビジネスの) 次に、オブジェクトの JSON パスを含む .h をインポートする必要がありbusiness
ます。したがって、この場合も同じデータをすべてインポートしていますが、ファイル構成がきれいになっているだけです。
私の目標は次のとおりです。
- JSON の解析に使用される文字列リテラルの簡単な管理
- 必要な複製の量を減らす
- 必要に応じて JSON パスを簡単に変更/置換
上記のオプション 3 (個別の .h ファイル) は最適なオプションですか? 皆さんは何を使用していますか? また、簡単なツールがありませんか (いや、JSONModel はオプションではありません。これは、JSON キーを ivar/プロパティ名と一致させる必要があるためです。バックエンドは多くのiOS だけのために JSON キーを変更することはできません)。