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 

参考技术A public class Model

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#如何把json值转化成jarray

怎样将json数据转换成匿名数组或者泛型对象(c#)

C#如何将xml数据转换成Array类型或者集合类?多谢!!!

C#如何把List of Object转换成List of T具体类型

C# 将任意对象快速转换为Json

怎样用C#把JSON数据转换为list或数组