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 关注
- 328 浏览
添加回答
举报
0/150
提交
取消