从接口取到的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);
        }
    }

  

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

 

转载于:https://www.cnblogs.com/wow1314/p/7661900.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值