管理用于解析JSON的字符串文字的工具



我们在应用程序中解析了大量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文件中有大约一千行这样的东西

  3. 我正在考虑的另一个选项是将这些分解成单独的。h文件-但如果我的应用程序的两个组件最终使用相同的键(例如,business对象嵌入到JSON书签,或为业务的审查),那么我必须导入。h包含的JSON路径为business对象。这里我还是导入了相同的数据,只是文件结构更简洁了

我的目标是:

  1. 轻松管理用于解析JSON的字符串字面值
  2. 减少所需的重复量
  3. 如果/当需要,轻松更改/替换JSON路径

我上面列出的选项3(单独的。h文件)是我最好的选择吗?你们用的是什么,我是不是错过了一个简单的工具(不,JSONModel不是一个选择,因为它需要你的JSON键匹配你的ivar/属性名称的方式-我们的后端支持许多平台,所以我们不能只为iOS改变JSON键)。

考虑使用一个库,比如RestKit,它允许你将JSON文档映射到一组Objective-C类。这意味着您可以读入文档并获得可以通过属性操作的对象数组,而不必跟踪键名。这就简单多了,Xcode会在你使用这些类的时候自动补全你的属性名。

这需要一些设置,但你只需要做一次。:)

只是更新这个答案-有一个非常酷的库叫做Mantle -不完美,有一些类型转换的问题,但仍然是一个非常坚实的努力。

相关内容

  • 没有找到相关文章

最新更新