iOS JSON 模型轉換庫評測

2021-07-07 09:58:08 字數 1183 閱讀 4212

ios 開發中總會用到各種 json 模型轉換庫,這篇文章將會對常見的幾個開源庫進行一下評測。評測的內容主要集中在效能、功能、容錯性這幾個方面。

manually

手動進行 json/model 轉換,不用任何開源庫,可以進行高效、自由的轉換,但手寫**非常繁瑣,而且容易出錯。

yymodel

我造的乙個新輪子,比較輕量(算上 .h 只有 5 個檔案),支援自動的 json/model 轉換,支援定義對映過程。api 簡潔,功能也比較簡單。

yalantis 開發的乙個 json 模型轉換庫,可以自定義詳細的 model 對映過程,支援 coredata。使用者較少。

jsonmodel

乙個 json 模型轉換庫,有著比較簡潔的介面。model 需要繼承自 jsonmodel。

mantle

github 官方團隊開發的 json 模型轉換庫,model 需要繼承自 mtlmodel。功能豐富,文件完善,使用廣泛。

mjextension

國內開發者"小碼哥"開發的 json 模型庫,號稱效能超過 jsonmodel 和 mantle,使用簡單無侵入。國內有大量使用者。

所有開源庫**更新至 2015-09-18,以 release 方式編譯,執行在 iphone 6 上,**見

用例1:githubuser

從 獲取的一條 user 資料,去除 nsdate 屬性。

該 json 有 30 行,大部分屬性是 string,少量是 number。這個用例主要是測試最基礎的 model 相關操作。

每次測試執行 10000 次,統計耗時毫秒數。

用例2: weibostatus

測試結果如下:

容錯性主要是測試在預設情況下,當 json 格式錯誤時,model 框架是否會產生錯誤結果或造成 crash。

用例yymodel

jsonmodel

mantle

mjextension

json 屬性是 number

model 屬性是 nsstring

✅ nsstring

iOS JSON 模型轉換庫評測

ios 開發中總會用到各種 json 模型轉換庫,這篇文章將會對常見的幾個開源庫進行一下評測。評測的內容主要集中在效能 功能 容錯性這幾個方面。manually 手動進行 json model 轉換,不用任何開源庫,可以進行高效 自由的轉換,但手寫 非常繁瑣,而且容易出錯。yymodel 我造的乙個...

iOS json格式轉換

nsstring str nil 字串 nsmutablestring string nsmutablestring alloc init str string jsonstring nslog str1 nsstring stringwithstring str 陣列 nsarray array ...

iOS JSON字典轉模型model

ios開發中,經常會用到字典轉模型,咱們平常常用的是mjexstend框架,該框架功能完善,但是在咱們用的時候基本上只是在資料解析的時候會用到json字典轉模型,僅此乙個功能,你們龐大的一套框架,是不是有些浪費啦,所以咱們自己寫乙個小的分類,運用一點點知識點就可以搞定,下面直接上 該分類有三個功能 ...