2013-08-04 62 views
1

似乎serializer.Deserialize重載只能從它們的輸入流中讀取一件事情。特別是,我無法弄清楚如何逐漸讀取類型爲「{...} {...} ...」的多個對象。如何讀取json對象流?

在第一個serializer.Deserialize調用之後,對同一個流的所有後續調用都會引發異常。

因爲它是唯一的,誰知道當一個對象表示結束,這只是下一個啓動的時候,誰知道解析器解析器。

+0

你有控制JSON嗎?你有沒有考慮將所有的對象包裝在一個數組中? –

+0

@BrianRogers查看我自己的答案。 – John

回答

0

布賴恩問,我的確有過JSON的控制,但我不想把它包裝成一個數組,因爲我要不斷的讀取。

在這種情況下,我找到了解決問的串行不縮進(默認)和換行符單獨的對象。這是有效的,因爲換行符在json字符串文本中出現時會被轉義 - 所以這是一個不縮進的字符,不能成爲json本身的一部分,因此適合作爲分隔字符。

如果圖書館能做到這一點,它仍然很酷 - 我會接受所有更好,更一般的答案。