2013-04-07 68 views
0

我可以很容易找到工具:哪些工具提供了將JSON轉換爲模型類對象的鉤子?

  • 變換JSON到CSHARP模型類
  • 變換JSON到objc模型類
  • 變換JSON來的POJO的Java

但是如果我正在尋找這個過程的中間步驟並將我自己的變壓器從JSON推廣到blah模型類,會發生什麼?

是否有一個編程框架或工具可以很好地理解JSON,並簡單地提供可以編程實現的鉤子或回調函數,以便完成後半部分的工作,即吐出我自己的模型類風格?

我在這個問題背後的動機是,我發現:http://jsonpack.com/ModelGenerators/ObjectiveC這有助於生成依賴於JSONKit框架的ObjC模型類,但我想生成依賴於RestKit框架的ObjC模型類。

+0

編寫自己的通用轉換器代碼比掛鉤現有代碼要容易得多 – Eonil 2013-04-07 03:18:07

+0

如果我聽到有關工具和框架質量差的人回來,我肯定會滾動我自己也是從頭開始分享它的,我總是喜歡首先評估社區中存在的東西,因爲隨着時間和可見性錯誤總是在任何代碼中減少。 – pulkitsinghal 2013-04-07 11:57:17

回答

2

如果我理解正確,那麼您可能正在尋找一種「SAX風格」解析器。也就是說,您爲解析器實現某種委託代理,該解析器從解析器接收解析事件,並且它將適當地處理這些事件。

因此,代替創建一個由NSArray,NSDictionary和NSString等組成的基礎對象的層次結構的JSON表示,而不是創建某個自定義類的一個或多個實例。雖然這是可行的,但如果你有這樣一個「SAX風格」的解析器(其中NSJSONSerialization不是),它肯定需要一定的努力。請注意,您始終可以將基礎層次結構「轉換」爲任何其他對象 - 比如核心數據模型對象。 (意思是,從NSDictionary初始化一個對象)。但是,更精細的方法肯定更快。

我知道其中有一個SAX風格的API的兩個Objective-C JSON解析器框架是SBJson https://github.com/stig/json-framework/和JPJson https://github.com/couchdeveloper/JPJson

後一個解析器庫(JPJson)其實很明顯是通過將這兩個任務分開來設計的:a)解析和b)執行語義操作。您可以從現有的基類「語義操作」中創建子類,並創建您自己的並覆蓋與處理解析事件相對應的「處理程序方法」。

我是JPJson的作者,目前正在更新它以適應新鏗鏘編譯器(C++ 11)和Xcode

相關問題