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

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

利用HttpWebRequest请求url路径返回json结果对象_第1张图片

本实例中演示如何通过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(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(result);
                }

            }
            catch (Exception e)
            {
            }
            return default(T);
        }
    }

    public static class SerializeKit
    {
        #region JsonSerialize

        /// 
        /// 
        /// 
        /// 
        /// 
        public static string JsonSerialize(object @object)
        {
            try
            {
                var serializer = new JavaScriptSerializer();
                return serializer.Serialize(@object);
            }
            catch
            {
                return null;
            }
        }

        #endregion

        #region JsonDeserialize
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public static T JsonDeserialize(string jsonString)
        {
            try
            {
                var serializer = new JavaScriptSerializer();
                return serializer.Deserialize(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("");输入请求的url路径即可。

你可能感兴趣的:(web开发,httpwebrequest,json,数据)