Json.NET能否對流進行序列化/反序列化?我聽說Json.NET比DataContractJsonSerializer更快,想試一試......但我在JsonConvert上找不到任何采用流而不是字符串的方法。例如,為了在WinPhone上反序列化包含JSON的文件,我使用以下代碼將文件內容讀入字符串,然后反序列化為JSON。在我的(非常臨時)測試中,使用DataContractJsonSerializer直接從流中反序列化似乎要慢4倍...// DCJSDataContractJsonSerializer dc = new DataContractJsonSerializer(typeof(Constants));Constants constants = (Constants)dc.ReadObject(stream);// JSON.NETstring json = new StreamReader(stream).ReadToEnd();Constants constants = JsonConvert.DeserializeObject<Constants>(json);我做錯了嗎?
3 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
public static void Serialize(object value, Stream s){ using (StreamWriter writer = new StreamWriter(s)) using (JsonTextWriter jsonWriter = new JsonTextWriter(writer)) { JsonSerializer ser = new JsonSerializer(); ser.Serialize(jsonWriter, value); jsonWriter.Flush(); }}public static T Deserialize<T>(Stream s){ using (StreamReader reader = new StreamReader(s)) using (JsonTextReader jsonReader = new JsonTextReader(reader)) { JsonSerializer ser = new JsonSerializer(); return ser.Deserialize<T>(jsonReader); }}
- 3 回答
- 0 關注
- 354 瀏覽
添加回答
舉報
0/150
提交
取消