怎样用C#把JSON数据转换为list或数组
3个回答
展开全部
Json数据格式:
var jsontext = "[{"id":"815bb899-8d70-4745-b799-7e68840a2b34","text":"设计","pid":"57eb2d57-9384-4d9f-a399-2c228fea81c2"},{"id":"4c76b72c-35da-4749-893c-5c7dde9431e6","text":"市政工程","pid":""}]";
/// <summary>
/// Json数据转数组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonText"></param>
/// <returns></returns>
public List<T> JsonToList<T>(string jsonText)
{
List<T> list = new List<T>();
DataContractJsonSerializer _Json = new DataContractJsonSerializer(list.GetType());
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(jsonText);
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0;
return (List<T>)_Json.ReadObject(_MemoryStream);
}
public class CheckedTreeInfo
{
/// <summary>
/// 父节点Id
/// </summary>
public string pid { get; set; }
/// <summary>
/// 节点Id
/// </summary>
public string id { get; set; }
/// <summary>
/// 节点名称
/// </summary>
public string text { get; set; }
}
var jsontext = "[{"id":"815bb899-8d70-4745-b799-7e68840a2b34","text":"设计","pid":"57eb2d57-9384-4d9f-a399-2c228fea81c2"},{"id":"4c76b72c-35da-4749-893c-5c7dde9431e6","text":"市政工程","pid":""}]";
/// <summary>
/// Json数据转数组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonText"></param>
/// <returns></returns>
public List<T> JsonToList<T>(string jsonText)
{
List<T> list = new List<T>();
DataContractJsonSerializer _Json = new DataContractJsonSerializer(list.GetType());
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(jsonText);
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0;
return (List<T>)_Json.ReadObject(_MemoryStream);
}
public class CheckedTreeInfo
{
/// <summary>
/// 父节点Id
/// </summary>
public string pid { get; set; }
/// <summary>
/// 节点Id
/// </summary>
public string id { get; set; }
/// <summary>
/// 节点名称
/// </summary>
public string text { get; set; }
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static T JSONToObject<T>(string jsonText)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
try
{
return jss.Deserialize<T>(jsonText);
}
catch (Exception ex)
{
throw new Exception("JSONHelper.JSONToObject(): " + ex.Message);
}
}
//JavaScriptSerializer为:System.Web.Script.Serialization.JavaScriptSerializer,注意添加引用,我觉得这个更好。
//使用的话:
//JsonResult<hzJsonApplicationInfo> appResult =JSONToObject<JsonResult<hzJsonApplicationInfo>>(你的json字符串);就行了。JsonResult、hzJsonApplicationInfo 是我定义的类,对应json字符串
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c# json的反序列化
搜索一下有挺多的
搜索一下有挺多的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询