using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
namespace jSonDemo
{
class Program
{
static void Main(string[] args)
{
Person person = new Person ();
person.ID = 1;
person.Name = new List<int>();
person.Name.Add(1);
person.Name.Add(2);
List<Person> PS = new List<Person>();
PS.Add(person);
PS.Add(person);
string text= ToJsJson(PS);
Console.WriteLine(text);
Console.ReadKey();
}
//json 序列化
public static string ToJsJson(object item)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, item);
StringBuilder sb = new StringBuilder();
sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
return sb.ToString();
}
}
//反序列化
public static T FromJsonTo<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
T jsonObject = (T)ser.ReadObject(ms);
return jsonObject;
}
}
}
[Serializable]
[DataContract]
public class Person
{
[DataMember(Order = 1, Name = "id")]
public int ID { get; set; }
[DataMember(Order = 2, Name = "name")]
public List<int> Name { get; set; }
}
}
jSonDemo
最新推荐文章于 2023-01-05 18:02:46 发布
本文介绍了一个简单的C#程序,演示了如何使用DataContractJsonSerializer进行JSON序列化和反序列化的过程。程序创建了一个包含列表属性的Person类,并实例化两个Person对象,然后将这些对象转换为JSON字符串并打印出来。
643

被折叠的 条评论
为什么被折叠?



