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

  

這樣,點擊按鈕就可以把數據全部導入到你的數據庫表對應的字段內了;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM