• json的序列化与反序列化


    namespace TestAPI
    {
        public class data
        {
            public test weatherinfo { get; set; }
        }
    }
    

      

    namespace TestAPI
    {
        public class test
        {
            public string city { get; set; }
            public string cityid { get; set; }
            public string temp { get; set; }
            public string WD { get; set; }
            public string WS { get; set; }
    
            public string SD { get; set; }
            public string AP { get; set; }
            public string njd { get; set; }
            public string WSE { get; set; }
    
            public string time { get; set; }
            public string sm { get; set; }
            public string isRadar { get; set; }
            public string Radar { get; set; }
        }
    }
    

      

    namespace TestAPI
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
    
                data t = new TestAPI.data();
                t = JsonConvert.DeserializeObject<data>(str());
                String AP = t.weatherinfo.AP;
                Response.Write(JsonConvert.SerializeObject(t));
    
                //string tianqiJieshou = "{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"27.9","WD":"南风","WS":"小于3级","SD":"28%","AP":"1002hPa","njd":"暂无实况","WSE":"<3","time":"17:55","sm":"2.1","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}";
                //首先创建一个天气的模型接受city之后的数据
                //创建一个名字为weatherinfo的字段,接受这些信息
    
                //test tianqi = new test();
    
    
                //t.weatherinfo = tianqi;
                //tianqi.AP = "1";
                //tianqi.city = "10010";
                //string ssa = JsonConvert.SerializeObject(t);
                //string aaa = "";
            }
            private string str()
            {
                string str = "";
                string URL = "http://www.weather.com.cn/data/sk/" + (int)city.北京 + ".html";
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(URL);
                req.Method = "Get";
                using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
                {
                    StreamReader sw = new StreamReader(rsp.GetResponseStream());
                    str = sw.ReadToEnd();
                    return str;
                }
            }
        }
        public enum city
        {
            北京 = 101010100,
            海淀 = 101010200,
            朝阳 = 101010300,
            顺义 = 101010400,
            怀柔 = 101010500,
            通州 = 101010600,
            昌平 = 101010700,
            延庆 = 101010800,
            丰台 = 101010900,
            石景山 = 101011000,
            大兴 = 101011100
        }
    }
     var test = JSON.stringify({ "a": "1", "b": "2" });//
     var testPare=JSON.parse(test);
    

      在jQuery中JSON.stringify是把实体转化为数据,序列化

                JSON.parse  把类型转化为object对象,反序列化

                   


    利用Newtonsoft.json 序列化反序列化.
    天气API返回的数据存在了Test模型中,然后使用
    HttpWebReques接受API中数据,
    使用JsonConvert.DeserializeObject反序列化
    使用JsonConvert.SerializeObject序列化

    另City类转自一位博友的,在回头找就找不到了,一脸尴尬

      

  • 相关阅读:
    Canvas中的save方法和restore方法
    python之函数默认参数的坑
    python之函数名的应用
    python之golbal/nonlocal
    python之*的魔性用法
    python之函数的传参形参的第三种动态参数*args和**kwargs
    python之道09
    python之函数的初识
    python之道08
    python之99乘法表
  • 原文地址:https://www.cnblogs.com/dcrBook/p/9768097.html
Copyright © 2020-2023  润新知