我們在我們的應用程序中解析了很多JSON - 沒有後端,它將是一個非常無用的應用程序。我知道這也適用於其他一些應用程序。爲了解析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文件中有大約一千行這些東西。
我正在考慮的另一個選項是將這些分解成單獨的.h文件 - 但如果我的應用程序的兩個組件最終使用相同的密鑰(例如,將
business
對象嵌入到JSON中以進行書籤或對該業務的評論),那麼我必須導入包含business
對象的JSON路徑的.h。所以在這種情況下,我仍然導入所有相同的數據,這只是文件組織更清潔。
我的目標是:
-
所需/所需 用於解析JSON
- 減少重複量字符串字面量
- 輕鬆管理
- 容易改變替換的JSON路徑,如果/當
是我上面列出的選項3(單獨的.h文件)我最好的選擇嗎?你們使用什麼,我錯過了一個簡單的工具嗎?(不,因爲它需要你的JSON鍵匹配你的ivar /屬性名稱,所以JSONModel不是一個選項 - 我們的後端支持一些平臺,所以我們不能只爲iOS改變JSON密鑰)。