06远程接口访问,泛型,非泛型

17 篇文章 0 订阅
2 篇文章 0 订阅

06远程接口访问,泛型,非泛型
代码如下:

using KangHui.BaseClass;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _04远程接口访问_泛型_非泛型
{
    class Program
    {

        static void Main(string[] args)
        {
            //实例化一个远程访问类
            WebClient client = new WebClient();
            //比特数据:是计算机的一个单位,比特数据可以通过操作系统转化为任何对象  Downloadfile是下载视频图片
            byte[] data = client.DownloadData("https://restapi.amap.com/v3/geocode/geo?key=baf5497578ad9c58e218761f22a8d386&address=%E6%B2%B3%E5%8D%97%E7%9C%81%E5%BC%80%E5%B0%81%E5%B8%82%E6%9D%9E%E5%8E%BF%E9%AB%98%E9%98%B3%E9%95%87%E6%AF%9B%E5%AF%A8%E6%9D%91");
            //当我们获取到远程接口返回的数据后将比特数据转化为字符串
            string html = Encoding.UTF8.GetString(data);
            //将字符串转化为对象
            //使用Newtonsoft进行反序列化
            //Newtonsoft提供了一种特殊的类型叫josn()
            JObject obj = (JObject)JsonConvert.DeserializeObject(html);
            Console.WriteLine(obj["geocodes"][0]["location"]);

            //非泛型的方法
            Student s = new Student();
            string jsonStr = "{\"name\":\"张三\",\"age\":\"20\"}";
            string jsonStr1=JsonConvert.SerializeObject(s);
            Console.WriteLine(jsonStr);
            Console.WriteLine(jsonStr1);

            //泛型的方法;
            string Conn = "{\"name\":\"李四\",\"age\":\"19\",\"BookList\":[{\"Book\":\"C#\"},{\"Book\":\"C\"},{\"Book\":\"C++\"}]}";
            JObject obj1= (JObject)JsonConvert.DeserializeObject(Conn);
            Console.WriteLine(obj1["BookList"][0]["Book"]);

            Student s1 = JsonConvert.DeserializeObject<Student>(Conn);
            Console.WriteLine(s1.name);
            Console.WriteLine(s1.age);


            string conn = KangHui.Common.ConfigHelper.GetConnectionString("Conn");
            DataSet ds = DbHelperSQL.Query("select CityName from S_City ", conn);
            WebClient Client = new WebClient();
            string JsonStr=JsonConvert.SerializeObject(ds);
            for (int i = 0; i < 20; i++)
            {
                byte[] Data = Client.DownloadData("https://restapi.amap.com/v3/geocode/geo?key=baf5497578ad9c58e218761f22a8d386&address=" + ds.Tables[0].Rows[i]["CityName"] + "");
                string Html=Encoding.UTF8.GetString(Data);
                JObject Obj = (JObject)JsonConvert.DeserializeObject(Html);
                Console.WriteLine("" + Obj["geocodes"][0]["city"] + ":" + Obj["geocodes"][0]["location"]);

            }
            Console.ReadKey();

        }
    }
    public class Student
    {
        public string name = "张三";
        public int age = 20;

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值