首先,我是所以對於提出有關JSON反序列化的另一個問題感到抱歉。不過,我還沒有看到答案。如何將JSON反序列化爲僅「內置」類型
我想反序列化JSON來T
其中T
遞歸定義爲:
Dictionary<string, T>
T[]
string
- 原始類型
(object)T
(盒裝)
我知道許多JSON庫允許指定反序列化類型,但根據我的經驗,某些自定義類型(JObject
,JsonObject
,無論什麼)顯示在對象圖的某處(即,返回類型似乎只是應用到一定的深度)。這似乎很直接,因爲類型幾乎與JavaScript一一對應。
編輯
理想情況下,我想的JSON是「乾淨的」,也就是說,沒有特殊領域(「__type」等)在反序列化幫助。它應該是JavaScript的簡單映射:JObject
- >IDictionary<string, T>
,JArray
- >T[]
,依此類推。
與此同時,我正在使用FParsec解析器和手動序列化器。它工作的很好,但我認爲可能已經有這方面的東西了。
你有沒有試過Newtonsoft.JSON? (http://james.newtonking.com/pages/json-net.aspx)這是由ravenDB使用,我沒有問題在反序列化。 – wal 2012-04-17 23:32:10
是的,這就是我目前使用的,而且'JObject'總是出現在深層嵌套的對象圖中。 – Daniel 2012-04-18 01:52:35
你能提供一些示例代碼和輸入數據嗎? – Timmerz 2012-04-18 03:21:19