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

  

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

上一篇:(20)模型层 -ORM之msql 基于双下划线的跨表查询(一对一,一对多,多对多)


下一篇:【Linux学习笔记】初识Linux---框架认知