zoukankan      html  css  js  c++  java
  • 从接口取到的JSON数据如何导入进本地SQL数据库

    新手学习,求大神指点。

    首先:在数据库建立表--设计字段(最好和接口说明文档里面的一致)

    第一步:获取接口中的字符串:这里获取的是有转义字符的字符串

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream ResStream = response.GetResponseStream();
    Encoding encoding = Encoding.GetEncoding("utf-8");
    StreamReader streamReader = new StreamReader(ResStream, encoding);
    
    string str = streamReader.ReadToEnd();
    

    第二步:使用JsonReader读str字符串:获得没有转义字符的字符串;

    string sJson="";
    
    JsonReader reader = new JsonTextReader(new StringReader(str));
    while (reader.Read())
    {
    sJson = reader.Value.ToString();
    }
    

    第三步:将json字符串变为json对象(注意这里的GG,是第四步的类名

    var v = Newtonsoft.Json.JsonConvert.DeserializeObject<GG>(sJson);
    

    第四步:根据接口的原始数据建立类(参考JSON数据序列化和反序列化):一般接口文档里会有说明

    public class GG
        {
            public string code { get; set; }
            public string msg { get; set; }
            public string errPage { get; set; }
            public string errSize { get; set; }
            public INFO[] info { get; set; }
        }
    
        public class INFO
        {
            public int __hibernate_row_nr__ { get; set; }
            public string id { get; set; }
            public string XMBM { get; set; }
            public string XMMC { get; set; }
        }
    

      第五步:这样就可以在C#中使用对象v的属性获取值信息

     if (v != null){
     if(v.info != null && v.info.Count>0){
            //假如info为数组,里面是对象,则需要遍历数组
               foreach (INFO i in v.info)
               {
    string id = i.id; //这里就可以取到接口数据中的值了,随便你怎么用 } } }

      第五步:分页数据处理:将上面的代码封装成一个方法getData(int 页数,int 最大条数)

    //点击按钮循环封装方法:最大条数是1000,一共有65页
        protected void btnSave_Click(object sender, EventArgs e)
        {
            for (int i = 1; i <= 65; i++)
            {
                getData(i,1000);
            }
        }
    

      

    这样,点击按钮就可以把数据全部导入到你的数据库表对应的字段内了;

    仅此杂文,留待后用。
  • 相关阅读:
    SuperMap房产测绘成果管理平台
    SuperMap产权登记管理平台
    Android adb shell am 的用法(1)
    由浅入深谈Perl中的排序
    Android 内存监测和分析工具
    Android 网络通信
    adb server is out of date. killing...
    引导页使用ViewPager遇到OutofMemoryError的解决方案
    adb logcat 详解
    How to send mail by java mail in Android uiautomator testing?
  • 原文地址:https://www.cnblogs.com/wow1314/p/7661900.html
Copyright © 2011-2022 走看看