json序列化与反序列化
2015-09-05 13:48
543 查看
最近一直在做一些接口相关的工作,跟其他的一些公司人对接,所以用到的json,xml等这些数据传输相关的知识,在这里做点记录。
这个主要是json跟对象之间的互相转化,
#region
//对象序列化为json
public static string objToJson<T>(T data)
{
try
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, data);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
catch
{
return "obj转json失败!";
}
}
//反序列化
//Json字符串转化为对象
public static T Deserialize<T>(string jsonString)
{
try
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(ms);
}
}
catch
{
return default(T);
}
}
#endregion
注意事项:
DataContractJsonSerializer需要先添加引用,才能解析,
这个主要是json跟对象之间的互相转化,
#region
//对象序列化为json
public static string objToJson<T>(T data)
{
try
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, data);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
catch
{
return "obj转json失败!";
}
}
//反序列化
//Json字符串转化为对象
public static T Deserialize<T>(string jsonString)
{
try
{
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(ms);
}
}
catch
{
return default(T);
}
}
#endregion
注意事项:
DataContractJsonSerializer需要先添加引用,才能解析,
相关文章推荐
- JavaScript四种跨域方式详解
- javascript面向对象设计
- bzoj1030 [JSOI2007]文本生成器
- JavaScript-MD5加密
- JavaScript 三个等号
- js判断鼠标滚轮上下滚动
- js window.open 打开页面并居中
- javascript 判断两个日期之差的示例代码
- Hello JSP!——<jsp:param>动作元素篇
- ExtJS Grid 每个Cell都显示tooltip
- JavaScript 函数创建思想
- JS事件代理
- 很火的ES5(js数组函数)初体验
- js 获取页面内容可见区域的高度和宽度
- Ajax-JS
- ThinkCMF框架写接口时不能正确输入json字符串而是带上了网页源码怎么办?
- js实现图片放大和拖拽特效代码分享
- 将JSON对象转化为数组对象
- 前端路上的各种问题-javascript—7
- js怎么跳转页面?