我们在我们的应用程序中解析了很多 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 行这些东西,但这确实很快变得笨拙。
我正在考虑的另一个选择是将它们分解为单独的 .h 文件 - 但是如果我的应用程序的两个组件最终使用相同的密钥(例如,一个
business
对象嵌入到 JSON 中作为书签,或用于审查该业务的)然后我必须导入包含business
对象的 JSON 路径的 .h。所以在这种情况下,我仍然导入所有相同的数据,只是文件组织更干净。
我的目标是:
- 轻松管理用于解析 JSON 的字符串文字
- 减少所需的重复数量
- 如果/需要时轻松更改/替换 JSON 路径
我上面列出的选项 3(单独的 .h 文件)是我的最佳选择吗?你们用什么,我错过了一个简单的工具吗(不,JSONModel 不是一个选项,因为它需要您的 JSON 密钥来匹配您的 ivar/属性名称 - 我们的后端支持许多平台,所以我们不能只为 iOS 更改 JSON 密钥)。