3
我通過NetWorkStream將序列化對象發送到另一臺計算機,在接收端我想反序列化這些對象。使用JSON.Net從NetworkStream反序列化或解析JSON
當我通過NetworkStream接收數據時,我將發送很多連續的對象,我怎麼知道第一個JSON文檔何時結束以便讓JSON.NET從接收的字符串中解析文檔?
或者更好的是,有沒有什麼辦法讓Json.NET直接從NetworkStream中讀取和反序列化/解析生成的JSON文檔?
讓我知道 問候
阿爾伯特
我的意思是不發送任何特殊的標記,只是JSON對象。 – aattia 2010-07-22 21:23:45
JSON反序列化器需要整個JSON字符串才能成功執行反序列化,所以如果您想實現這一點,您需要一個標記或等待整個流被讀取。你可以嘗試實現一些啓發式算法,例如計算開頭數'{'並匹配相應的結束'}以確定當前對象結束的位置,但這對於任何JSON字符串可能不是一件容易的任務。 – 2010-07-22 21:40:43
從TextStream中讀取時,JSON.NET需要做類似的工作,如果我從TextStream中解析出JSON文檔,當文檔結束時沒有標記告訴JSON.NET。 因此,就像JSON.NET解析文本流中的文檔,是否有一種方法可以爲網絡流執行相同的操作,因爲兩者都是流? – aattia 2010-07-22 22:06:20