您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

json 序列化与反序列化C#类

2025/11/15 8:55:08发布8次查看
添加system.runtime.serialization.dll引用
public static class jsonserializer { private static itracing _tracing = tracingmanager.gettracing(typeof(jsonserializer)); /// /// 将指定对象序列化为 javascript 对象表示法 (json) 数据,并将生成的 json 写入流中。 /// /// 对象类型 /// 流对象 /// 序列化对象 public static void serialize(stream stream, t obj) { jsonserializeproxy.default.serialize(stream, obj); } /// /// 将指定对象序列化为 javascript 对象表示法 (json) 数据,并返回对应的字符串。 /// /// 对象类型 /// 序列化对象 /// javascript 对象表示法 (json) 字符串 public static string serialize(t obj) { using (memorystream ms = new memorystream()) { jsonserializeproxy.default.serialize(ms, obj); string jsonstr = encoding.utf8.getstring(ms.toarray()); _tracing.infofmt({0} json serialize result: {1}, typeof(t).tostring(), jsonstr); return jsonstr; } } public static t deserialize(string jsonstr) { return jsonserializeproxy.default.deserialize(jsonstr); } } public class jsonserializeproxy { private static readonly jsonserializeproxy _default = new jsonserializeproxy(); private datacontractjsonserializer _serializer; public static jsonserializeproxy default { get { return _default; } } private jsonserializeproxy() { _serializer = new datacontractjsonserializer(typeof(t)); } public void serialize(stream stream, t obj) { _serializer.writeobject(stream, obj); } /// /// 将json字符串反序列化为对象 /// /// json字符串 /// public t deserialize(string jsonstr) { memorystream ms = new memorystream(encoding.utf8.getbytes(jsonstr)); t obj = (t)_serializer.readobject(ms); return obj; } }
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product