c# 将 json 数据转换成 List<T> 怎么转换,json 数据格式如下图:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 将 json 数据转换成 List<T> 怎么转换,json 数据格式如下图:相关的知识,希望对你有一定的参考价值。
/// <summary>/// JSON格式数组转化为对应的List<T>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="JsonStr">JSON格式数组</param>
/// <returns></returns>
public static List<T> JSONStringToList<T>(string JsonStr)
javascriptSerializer Serializer = new JavaScriptSerializer();
//设置转化JSON格式时字段长度
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
//调用方法
List<DBTD_SHARE> TD_Share = new List<DBTD_SHARE>();
TD_Share = JSONStringToList<DBTD_SHARE>(JsonStr);
你构造一个类 里面有carLengthMin等3个成员
我这里是DBTD_SHARE
public int Count set; get;
public List<Data> Data set; get;
public class Data
public string carLengthWin set; get;
public string carAxleRequire set; get;
public string tradeTelephoneNumber set; get;
然后使用JavaScriptSerializer的Deserialize方法反序列化,参数是json本回答被提问者采纳 参考技术B var json=new JavaScriptSerializer().Deserialize<T>(jsonString);
如果这里没有对映的实体类,那么这里的T可以用Dictionary<string,object> 和dynamic代替。。哪种是用看你自己 参考技术C 引用System.ServiceModel.Web.dll
引用System.Runtime.Serialization.dll
private void Form1_Load(object sender, EventArgs e)
string _JsonText = System.IO.File.ReadAllText(@"C:\2.TXT");
List<Test> _Test = new List<Test>();
DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0;
_Test =(List<Test>)_Json.ReadObject(_MemoryStream);
public class Test
public int cId = 0;
public string cName = "";
public int amount = 0;
public string price = "";
你根据你自给的东西修改下吧 参考技术D 你得构造一个和这个Json结构一样的类。
然后用JavaScriptSerializer类的Deserialize方法反序列化。
C#中Collection集合怎么转换List集合?请高手指教
public static class Extension//必须先声明一个静态类,类名随意/// <summary>
/// IList转换为List
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="In"></param>
/// <returns></returns>
public static List<T> ToList<T>(this IList In) where T : class
List<T> list = new List<T>();
foreach (var i in In)
T t = i as T;
if (t != null)
list.Add(t);
return list;
参考技术A 试着把Collection遍历一下,添加到list里不就行了。 参考技术B 记得应该有个tolist 方法,试下
以上是关于c# 将 json 数据转换成 List<T> 怎么转换,json 数据格式如下图:的主要内容,如果未能解决你的问题,请参考以下文章
C#如何将xml数据转换成Array类型或者集合类?多谢!!!