利用HttpWebRequest请求url路径返回json结果对象

来源:互联网 发布:内核是什么知乎 编辑:程序博客网 时间:2024/06/11 16:19

假如需要返回结果数据如下图所示,如何通过HttpWebRequest请求url路径获得呢


本实例中演示如何通过Newtonsoft.Json实现结果数据的反序列化

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Net;using System.IO;using System.Xml.Linq;using System.Web.Script.Serialization;using Newtonsoft.Json;namespace WebApplication8{    public class ServiceManager    {        public static T GetStr<T>(string url)        {                       string SerAadd = url;            XDocument doc;            HttpWebRequest request = WebRequest.Create(SerAadd) as HttpWebRequest;            try            {                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)                {                    StreamReader reader = new StreamReader(response.GetResponseStream());                    string result = reader.ReadToEnd();                    return SerializeKit.JsonDeserialize<T>(result);                }            }            catch (Exception e)            {            }            return default(T);        }    }    public static class SerializeKit    {        #region JsonSerialize        /// <summary>        ///         /// </summary>        /// <param name="object"></param>        /// <returns></returns>        public static string JsonSerialize(object @object)        {            try            {                var serializer = new JavaScriptSerializer();                return serializer.Serialize(@object);            }            catch            {                return null;            }        }        #endregion        #region JsonDeserialize        /// <summary>        ///         /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="jsonString"></param>        /// <returns></returns>        public static T JsonDeserialize<T>(string jsonString)        {            try            {                var serializer = new JavaScriptSerializer();                return serializer.Deserialize<T>(jsonString);            }            catch            {                return default(T);            }        }        #endregion    }    public class ItemTypeMassageEntity    {        [JsonProperty("total")]        public int Total { get; set; }        [JsonProperty("data")]        public ItemTypeEntity[] Data { get; set; }        [JsonProperty("message")]        public string Message { get; set; }        [JsonProperty("code")]        public int Code { get; set; }    }    public class ItemTypeEntity    {        [JsonProperty("catalogId")]        public string CatalogId { get; set; }        [JsonProperty("catalogName")]        public string CatalogName { get; set; }        [JsonProperty("parentCatalogId ")]        public string ParentCatalogId { get; set; }        [JsonProperty("deptId ")]        public string DeptId { get; set; }    }}
调用 ItemTypeMassageEntity itemTypeMassageEntity = ServiceManager.GetStr<ItemTypeMassageEntity>("");输入请求的url路径即可。

0 0
原创粉丝点击