c#对象和json对象转换方法总结
来源:互联网 发布:java回调函数的作用 编辑:程序博客网 时间:2024/06/02 02:36
1、使用Newtonsoft.Json.JsonConvert类
Newtonsoft.Json.JsonConvert类是非微软提供的一个JSON序列化和反序列的开源免费的类库(下载网址是:http://www.codeplex.com/json/),它提供了更灵活的序列化和反序列化控制[Serializable]
class User{
public string UserName{get;set;}
public int UserId{get;set;}
}
private static void ObjectConvertTest()
{
User user = new User { UserId =1, UserName ="XUW"};
//JSON序列化
string result = JsonConvert.SerializeObject(user);
Console.WriteLine("c#对象转换成json字符串:{0}", result);
//JSON反序列化
user = JsonConvert.DeserializeObject<User>(result);
Console.WriteLine("json字符串转换成c#对象:UserId:{0},UserName: {1}", user.UserId, user.UserName);
}
2、.Net framework 4.0及以上版本可以使用DataContractJsonSerializer转换
// 从一个对象信息生成Json串public static string ObjectToJson(object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
using (MemoryStream stream = new MemoryStream())
{
serializer.WriteObject(stream, obj);
return Encoding.UTF8.GetString(stream.ToArray());
}
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
using (MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
return serializer.ReadObject(mStream);
}
}
3、.Net framework 4.0及以上版本可以使用JavaScriptSerializer类转换
[Serializable][DataContract]
public class Person
{
[DataMember(Order=1,Name="id")]
public int ID { get; set; }
[DataMember(Order=2,Name="name")]
public String Name { get; set; }
}
Person pA = new Person { ID = 1,Name = "hello world"};
Person pB = new Person { ID = 2, Name = "hello ets" };
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
String json = javaScriptSerializer.Serialize(new List<Person>() { pA, pB });
List<Person> personList = javaScriptSerializer.Deserialize<List<Person>>(json);
0 0
- c#对象和json对象转换方法总结
- C#对象和Json相互转换
- C# JSON串和对象互相转换
- C# JSON串和对象互相转换
- 字符串、数组、JSON字符串、JSON对象、DOMList转换方法总结
- Json字符串和Json对象的转换和问题总结
- JSON与c#对象转换
- JSON对象和JSON字符串的相互转换方法
- json字符串和json对象的相互转换方法
- JSON和js对象转换
- json和js对象转换
- 对象和json对象的转换
- JSON对象 和 java对象互相转换
- JSON对象和Java对象互相转换
- java对象和json对象互相转换
- js操作json方法总结(json字符创转换json对象)
- json对象和java对象的相互转换方法(json-lib、jackson、fastjson、gson)
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- Basic Level 1001. 害死人不偿命的(3n+1)猜想 (15)
- Oracle RANK函数
- 开博第一篇,写点关于GPGPU的东西吧
- iOS Push通知资料.
- IMP导入错误 IMP-00003: ORACLE error 2298 encountered
- c#对象和json对象转换方法总结
- Spring框架的IoC和AOP
- shell ftp判断远程主机是否存在某目录
- objective-c基础教程——学习小结
- [LeetCode] Word Ladder II
- js 浏览器自适应例子
- 年会上用到的抽奖
- HttpClient 教程 (三)
- 私人订制你们看了没没啥意思