c# 反序列化JSON的问题,里面有多个数组
发布网友
发布时间:2022-04-24 06:50
我来回答
共4个回答
热心网友
时间:2022-04-24 08:20
不管有多少的数组,不管里面是什么类型的都无所谓,只是需要你定义一个和你要序列化后的object相同就行了。具体做法:
1、定义class(和你的字段相同即可)
2、反序列化,源码为:
public static T ResolveJson<T>(String json)
{
if (String.IsNullOrEmpty(json))
{
return default(T);
}
T obj = new JavaScriptSerializer().Deserialize<T>(json);
return obj;
}
热心网友
时间:2022-04-24 09:38
public class DataUser
{
public string changeCode { get; set; }
public string orderDesc { get; set; }
public string orderNo { get; set; }
public long time { get; set; }
public string transactionId { get; set; }
}
//用这个类反序列化
public class Order
{
public DataUser datauser { get; set; }
public string notifyType { get; set; }
public string sign { get; set; }
public string version { get; set; }
}
热心网友
时间:2022-04-24 11:12
/// <summary>
/// JSON反序列化
/// </summary>
public static T JsonDeserialize<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}
热心网友
时间:2022-04-24 13:04
你为什么不用Newtonsoft.json.dll来反序列化呢?它帮你封装好了,而且性能优化的也比较好