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 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
{
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var json=new JavaScriptSerializer().Deserialize<T>(jsonString);
如果这里没有对映的实体类,那么这里的T可以用Dictionary<string,object> 和dynamic代替。。哪种是用看你自己
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用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 = "";
}
你根据你自给的东西修改下吧
引用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 = "";
}
你根据你自给的东西修改下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你得构造一个和这个Json结构一样的类。
然后用JavaScriptSerializer类的Deserialize方法反序列化。
然后用JavaScriptSerializer类的Deserialize方法反序列化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询