1.使用okhttp

添加依赖:

compile 'com.squareup.okhttp3:okhttp:3.8.1'

导入gson

implementation 'com.google.code.gson:gson:2.2.4'

安装插件gsonformat返回json数据报时生成对应的提取类进行提取

val result = response?.body()?.string()// 将返回的json报文通过string()方法转为字符串

再用gson的fromjson方法进行对应的类转换 并存入新对象 生成类内对应的list 重写tostring方法打印出结果就好了

kotlin没有静态 static 这个时候java混用的好处就出来了

12.1利用插件GsonFormat解析json生成类(https://www.jianshu.com/p/4d759d6f83fa)

12.2以及fromJson(数据,类)生成对象(https://www.cnblogs.com/reboost/p/9521711.html)这位大佬总结的非常到位

13.3使用Typetoken获取泛型的参数(https://www.cnblogs.com/frankyou/p/8623854.html)

val gson = Gson()   gson.fromJson()实现json数据与类之间的转换  补充用到的两种写法

val result = response?.body()?.string()//.body()公开获取响应的流 val gson = Gson()
//括号内是拿到的json转化后的string,将要转化为相应的类val list=gson.fromJson<<List<HomeItemBean>>(result,object : Typetoken<List<HomeItemBean>>(){}.type)val gson = Gson()val resultBean = gson.fromJson(result, HomeItemBeanSuccess::class.java!!)val userBeanList = resultBean.getResult()
 private fun loadDatas() {//4.1.1三行架构val client = OkHttpClient()val request = Request.Builder().url("https://api.apiopen.top/musicRankingsDetails?type=1").get()//get方法.build()//4.1.2传入队列与结果回调client.newCall(request).enqueue(object : Callback {//4.1.3回调实现两个方法 Aoverride fun onFailure(call: Call, e: IOException) {myToast("获取数据失败")   //测试出现e.printStackTrace()}//4.1.3回调实现两个方法 Boverride fun onResponse(call: Call?, response: Response?) {myToast("获取数据成功")//4.14查看结果集  根据数据结果集来编写Bean类(model->HomeItemBean)val result = response?.body()?.string()//.body()公开获取响应的流  .string()得到字符串println("获取数据成功:" + result)println("获取线程名" + Thread.currentThread().name) //调试方法 发现是子线程调用 主线程会有main// 4.15 导包Gsonval gson = Gson()val resultBean = gson.fromJson(result, HomeItemBeanSuccess::class.java!!)
//对象中拿到集合val userBeanList = resultBean.getResult()println("获取数据成功111:"+userBeanList.toString())//查看结果size 返回条目*/}})}

这是生成的数据类

package com.ywjh.farawayplayer.modelclass HomeItemBeanSuccess {private var code: Int = 0private var message: String? = nullprivate var result: List<ResultBean>? = null  //result 结果集fun getCode(): Int {return code}fun setCode(code: Int) {this.code = code}fun getMessage(): String? {return message}fun setMessage(message: String) {this.message = message}fun getResult(): List<ResultBean>? {return result}fun setResult(result: List<ResultBean>) {this.result = result}class ResultBean {/*** country : 内地* piao_id : 0* res_encryption_flag : 0* mv_provider : 0000000000* biaoshi : lossless,perm-1* artist_name : 冷凡* is_first_publish : 0* language : 国语* album_1000_1000 : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg* korean_bb_song : 0* pic_huge : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg* all_rate : 96,128,224,320,flac* song_source : web* song_id : 672600384* album_500_500 : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_500,h_500* rank : 1* pic_premium : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_500,h_500* album_800_800 :* info :* area : 0* si_proxycompany : 北京万上文化传媒有限公司* has_mv_mobile : 0* is_new : 1* author : 冷凡* resource_type : 0* has_filmtv : 0* all_artist_ting_uid : 340249647* artist_id : 559712946* versions :* publishtime : 2019-12-02* style :* album_id : 672600382* album_no : 1* resource_type_ext : 0* del_status : 0* hot : 18730* toneid : 0* title : 酒醉的蝴蝶* pic_big : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_150,h_150* relate_status : 0* rank_change : 3* lrclink : http://qukufile2.qianqian.com/data2/lrc/62e555298f8d641824a7e58f9991f0aa/672600419/672600419.txt* file_duration : 205* havehigh : 2* charge : 0* pic_radio : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_300,h_300* learn : 0* pic_s500 : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_500,h_500* all_artist_id : 559712946* pic_small : http://qukufile2.qianqian.com/data2/pic/55f472ef374d4e3af0b7935a9df9437f/672600403/672600403.jpg@s_2,w_90,h_90* bitrate_fee : {"0":"0|0","1":"0|0"}* has_mv : 0* copy_type : 1* ting_uid : 340249647* album_title : 酒醉的蝴蝶*/var country: String? = nullvar piao_id: String? = nullvar res_encryption_flag: String? = nullvar mv_provider: String? = nullvar biaoshi: String? = nullvar artist_name: String? = nullvar is_first_publish: Int = 0var language: String? = nullvar album_1000_1000: String? = nullvar korean_bb_song: String? = nullvar pic_huge: String? = nullvar all_rate: String? = nullvar song_source: String? = nullvar song_id: String? = nullvar album_500_500: String? = nullvar rank: String? = nullvar pic_premium: String? = nullvar album_800_800: String? = nullvar info: String? = nullvar area: String? = nullvar si_proxycompany: String? = nullvar has_mv_mobile: Int = 0var is_new: String? = nullvar author: String? = nullvar resource_type: String? = nullvar has_filmtv: String? = nullvar all_artist_ting_uid: String? = nullvar artist_id: String? = nullvar versions: String? = nullvar publishtime: String? = nullvar style: String? = nullvar album_id: String? = nullvar album_no: String? = nullvar resource_type_ext: String? = nullvar del_status: String? = nullvar hot: String? = nullvar toneid: String? = nullvar title: String? = nullvar pic_big: String? = nullvar relate_status: String? = nullvar rank_change: String? = nullvar lrclink: String? = nullvar file_duration: Int = 0var havehigh: Int = 0var charge: Int = 0var pic_radio: String? = nullvar learn: Int = 0var pic_s500: String? = nullvar all_artist_id: String? = nullvar pic_small: String? = nullvar bitrate_fee: String? = nullvar has_mv: Int = 0var copy_type: String? = nullvar ting_uid: String? = nullvar album_title: String? = nulloverride fun toString(): String {return "ResultBean(country=$country, piao_id=$piao_id, res_encryption_flag=$res_encryption_flag, mv_provider=$mv_provider, biaoshi=$biaoshi, artist_name=$artist_name, is_first_publish=$is_first_publish, language=$language, album_1000_1000=$album_1000_1000, korean_bb_song=$korean_bb_song, pic_huge=$pic_huge, all_rate=$all_rate, song_source=$song_source, song_id=$song_id, album_500_500=$album_500_500, rank=$rank, pic_premium=$pic_premium, album_800_800=$album_800_800, info=$info, area=$area, si_proxycompany=$si_proxycompany, has_mv_mobile=$has_mv_mobile, is_new=$is_new, author=$author, resource_type=$resource_type, has_filmtv=$has_filmtv, all_artist_ting_uid=$all_artist_ting_uid, artist_id=$artist_id, versions=$versions, publishtime=$publishtime, style=$style, album_id=$album_id, album_no=$album_no, resource_type_ext=$resource_type_ext, del_status=$del_status, hot=$hot, toneid=$toneid, title=$title, pic_big=$pic_big, relate_status=$relate_status, rank_change=$rank_change, lrclink=$lrclink, file_duration=$file_duration, havehigh=$havehigh, charge=$charge, pic_radio=$pic_radio, learn=$learn, pic_s500=$pic_s500, all_artist_id=$all_artist_id, pic_small=$pic_small, bitrate_fee=$bitrate_fee, has_mv=$has_mv, copy_type=$copy_type, ting_uid=$ting_uid, album_title=$album_title)"}}}
//    /**
//     * code : 0
//     * msg : SUCCESS
//     * now : 1575866247681
//     * data : [{"type":"VIDEO","id":3395154,"title":"夜的尽头 官方版","description":"鹿晗","posterPic":"http://img3.c.yinyuetai.com/others/mobile_front_page/190903/0/-M-3786ad47009baa9a37142b8e0ede531a_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190903/0/-M-a81ae33b8e6a026706ff5ce51b0a6315_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/FF0E016CF4EEF23105AAF686F7CF7A87.mp4?sc=c7fca97c22eec76b&br=783&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/FF0E016CF4EEF23105AAF686F7CF7A87.mp4?sc=c7fca97c22eec76b&br=783&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/9916016CF4F5ECD8529154BC758F24EC.mp4?sc=40bae07535e4be72&br=1109&rd=Android","videoSize":21910587,"hdVideoSize":21910587,"uhdVideoSize":31003345,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6582"},{"type":"VIDEO","id":3393912,"title":"你好吗我很好谢谢你呢 官方版","description":"李宇春","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190823/0/-M-80db853bf9ccfd8c3a992dccc5281da0_0x0.png","thumbnailPic":"http://img1.c.yinyuetai.com/video/mv/190823/0/-M-ade44f0d8992cf14ffaf067485845401_240x135.png","url":"http://hc.yinyuetai.com/uploads/videos/common/682F016CBD95F23BF909B698F7CADB8B.mp4?sc=e8c2ad35d2b3ccaa&br=781&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/682F016CBD95F23BF909B698F7CADB8B.mp4?sc=e8c2ad35d2b3ccaa&br=781&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/9F33016CBDAF74D39722C9FD9CCF4672.mp4?sc=a1b0c48fc10bb36e&br=1102&rd=Android","videoSize":25819131,"hdVideoSize":25819131,"uhdVideoSize":36415355,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6581"},{"type":"VIDEO","id":3390796,"title":"这么久没见 官方版","description":"薛之谦","posterPic":"http://img3.c.yinyuetai.com/others/mobile_front_page/190806/0/-M-adf004698be56c3a54a59a6f49dc057d_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190806/0/f7b2ed98bacade981ef78cc5dbbd78e5_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/0073016C64EFD8A984A340ABC3B32EE8.mp4?sc=f54ce951b67de964&br=777&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/0073016C64EFD8A984A340ABC3B32EE8.mp4?sc=f54ce951b67de964&br=777&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/EAF4016C6511D08F8FD0F40900B15F1E.mp4?sc=f4024d3086c23a4e&br=1095&rd=Android","videoSize":28896393,"hdVideoSize":28896393,"uhdVideoSize":40708708,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6580"},{"type":"VIDEO","id":3389598,"title":"YOUNG 官方版","description":"蔡徐坤","posterPic":"http://img2.c.yinyuetai.com/others/mobile_front_page/190726/0/-M-8d221c596a827770b9067a1c0638dfc7_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190726/0/-M-a0ef3450c3d842add27d5b6c060c8615_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/AA13016C284D8957D34E83D629162E22.mp4?sc=2f492da8667f5604&br=782&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/AA13016C284D8957D34E83D629162E22.mp4?sc=2f492da8667f5604&br=782&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/DC96016C2BFCBF39B62D9536F061237D.mp4?sc=ac8c9d6024c6ae53&br=1101&rd=Android","videoSize":23282312,"hdVideoSize":23282312,"uhdVideoSize":32789703,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6579"},{"type":"VIDEO","id":3389109,"title":"慢半拍 官方版","description":"薛之谦","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190719/0/-M-0d7b3644a3d19dab4641d77ff443ab54_0x0.jpg","thumbnailPic":"http://img1.c.yinyuetai.com/video/mv/190719/0/-M-a447b724054a1aa1da88b90f25e3a67d_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/E063016C084095C4383D3C62027F7E18.mp4?sc=57943ef7974fbe17&br=785&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/E063016C084095C4383D3C62027F7E18.mp4?sc=57943ef7974fbe17&br=785&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/FB24016C086394B949600A4B5EEBD1C3.mp4?sc=18a47fecb406e80c&br=1110&rd=Android","videoSize":26949148,"hdVideoSize":26949148,"uhdVideoSize":38085415,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6578"},{"type":"VIDEO","id":3386048,"title":"我们很好  电影《少年的你》主题曲","description":"林俊杰","posterPic":"http://img2.c.yinyuetai.com/others/mobile_front_page/190614/0/-M-a3ccf9462e5c3bbcc0875d555fc8ef65_0x0.jpg","thumbnailPic":"http://img0.c.yinyuetai.com/video/mv/190613/0/-M-dc4ba4f0e70f153f2975b6e575f91289_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/77D0016B51007FAA1A54BAAF486A9E9E.mp4?sc=20069a2efedee274&br=793&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/77D0016B51007FAA1A54BAAF486A9E9E.mp4?sc=20069a2efedee274&br=793&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/84C8016B51223CCDDB6B65E864619698.mp4?sc=445975b41322da94&br=1120&rd=Android","videoSize":28933353,"hdVideoSize":28933353,"uhdVideoSize":40868808,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6575"},{"type":"PROGRAM","subType":"VIDEO","id":3385413,"title":"爱豆企划社EP44 AKO王喆面试记","description":"爱豆企划社","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190605/0/-M-09fee739304c615f72fb01ddcd938e88_0x0.jpg","thumbnailPic":"http://img2.c.yinyuetai.com/video/mv/190605/0/-M-73fbf8626235034991f7298748ce1848_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/CC1B016B26ED3E42358A01D01C4353A6.mp4?sc=ea481f8d36680a66&br=779&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/CC1B016B26ED3E42358A01D01C4353A6.mp4?sc=ea481f8d36680a66&br=779&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/6C9F016B26F9875D2E092AC209D0B334.mp4?sc=7f966a88b925d0bb&br=1100&rd=Android","videoSize":76274200,"hdVideoSize":76274200,"uhdVideoSize":107657901,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6574"},{"type":"PROGRAM","subType":"VIDEO","id":3385300,"title":"品▪Rapper▪冠使用手册-品冠专访","description":"品冠 & STAR!调查团","posterPic":"http://img2.c.yinyuetai.com/others/mobile_front_page/190604/0/-M-4ad8a89199a3b4777a68f4c6ecbfc27b_0x0.jpg","thumbnailPic":"http://img2.c.yinyuetai.com/video/mv/190604/0/-M-ea163ed793671dc18e317f65b6479502_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/E8C7016B20956742AD91F7D3D06B5CEE.mp4?sc=942f9f8decaec17e&br=783&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/E8C7016B20956742AD91F7D3D06B5CEE.mp4?sc=942f9f8decaec17e&br=783&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/0537016B21EFC918B99F35C711330E58.mp4?sc=d123a6537be78c3d&br=1104&rd=Android","videoSize":42817323,"hdVideoSize":42817323,"uhdVideoSize":60330228,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6573"},{"type":"PROGRAM","subType":"VIDEO","id":3385103,"title":"V榜TOP10 2019 第二十二期 蔡徐坤&飞儿乐团&Justin Bieber&咸慇晶&早安少女组","description":"音悦V榜 & 蔡徐坤 & 飞儿乐团 & Justin Bieber & 咸慇晶(T-ara)","posterPic":"http://img2.c.yinyuetai.com/others/mobile_front_page/190603/0/-M-9e2151c172a5557c5840e9d566c4be01_0x0.jpg","thumbnailPic":"http://img1.c.yinyuetai.com/video/mv/190603/0/-M-3f0166c468c0a3364a1d2d6de5ea113c_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/A693016B1CCEA37CCBAB1D9CF473CD61.mp4?sc=65bcbda6c9a80120&br=785&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/A693016B1CCEA37CCBAB1D9CF473CD61.mp4?sc=65bcbda6c9a80120&br=785&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/752B016B1CD522DD06F1243EA0F0485E.mp4?sc=0afa1296be129987&br=1106&rd=Android","videoSize":88406651,"hdVideoSize":88406651,"uhdVideoSize":124547467,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6572"},{"type":"PROGRAM","subType":"VIDEO","id":3384804,"title":"爱豆企划社EP43 Black ACE超FREE面试记","description":"爱豆企划社","posterPic":"http://img3.c.yinyuetai.com/others/mobile_front_page/190531/0/-M-b88a1b92b29c9b81a24f8a7683c2287e_0x0.jpg","thumbnailPic":"http://img0.c.yinyuetai.com/video/mv/190531/0/-M-c5ac1d0c1863966a561957e484b05272_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/0E4D016B1BC63CBC13E534E70B185CA2.mp4?sc=2b03903817c7c28a&br=785&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/0E4D016B1BC63CBC13E534E70B185CA2.mp4?sc=2b03903817c7c28a&br=785&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/0E8A016B1BD9511523D175E5DD062961.mp4?sc=d04f10110f9a3376&br=1101&rd=Android","videoSize":157616516,"hdVideoSize":157616516,"uhdVideoSize":221105658,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6571"},{"type":"PROGRAM","subType":"VIDEO","id":3384235,"title":"V榜TOP10 2019 第二十一期 蔡徐坤&蔡依林&TaylorSwift&赤西仁&咸慇晶","description":"音悦V榜 & 蔡徐坤 & Taylor Swift & 蔡依林 & 咸慇晶(T-ara) & 赤西仁","posterPic":"http://img3.c.yinyuetai.com/others/mobile_front_page/190527/0/-M-2b4ff686a5a7edddfae52d575f770961_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190527/0/-M-69071f70fa7374c06593786c6e51c5d7_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/7242016AF8A4F48652A9ADE414962F34.mp4?sc=0c008e5b84155a89&br=785&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/7242016AF8A4F48652A9ADE414962F34.mp4?sc=0c008e5b84155a89&br=785&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/FC69016AF8AECB9D72458964910F92B2.mp4?sc=e0d2be416ba55b70&br=1108&rd=Android","videoSize":88355978,"hdVideoSize":88355978,"uhdVideoSize":124681342,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6570"},{"type":"VIDEO","id":3384215,"title":"造梦者","description":"飞儿乐团","posterPic":"http://img4.c.yinyuetai.com/others/mobile_front_page/190527/0/-M-49cb8e75549a2ff1980e787ee4d32128_0x0.jpg","thumbnailPic":"http://img2.c.yinyuetai.com/video/mv/190527/0/-M-244345846f90ba49d748d6172e07b2f1_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/B0E0016AF7F774A01341401EA4E7EFA0.mp4?sc=494cdc5f86998e27&br=778&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/B0E0016AF7F774A01341401EA4E7EFA0.mp4?sc=494cdc5f86998e27&br=778&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/D1C6016AF801FC17611CA853D9BEC885.mp4?sc=6f427634580e253c&br=1096&rd=Android","videoSize":20700370,"hdVideoSize":20700370,"uhdVideoSize":29156246,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6569"},{"type":"PROGRAM","subType":"VIDEO","id":3383936,"title":"郁可唯:一个被歌唱事业耽误的\u201c电竞女神\u201d","description":"郁可唯 & STAR!调查团","posterPic":"http://img4.c.yinyuetai.com/others/mobile_front_page/190524/0/-M-558f0cdb32824d5bd8863fb738c6ea89_0x0.jpg","thumbnailPic":"http://img0.c.yinyuetai.com/video/mv/190524/0/-M-0121e681bc04ecd4f4a21c5996157fcc_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/296F016AE45FBCAD75FA14F0562A7499.mp4?sc=1858d9ea7db545b6&br=784&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/296F016AE45FBCAD75FA14F0562A7499.mp4?sc=1858d9ea7db545b6&br=784&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/2952016AE94451AF8DD7AE2812F1FCB7.mp4?sc=5e441ed3be393513&br=1106&rd=Android","videoSize":49240682,"hdVideoSize":49240682,"uhdVideoSize":69462112,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6568"},{"type":"PROGRAM","subType":"VIDEO","id":3383373,"title":"V榜TOP10 2019 第二十期 蔡徐坤&蔡依林&TaylorSwift&赤西仁&EXID","description":"音悦V榜 & 蔡徐坤 & Taylor Swift & 蔡依林 & 赤西仁 & EXID","posterPic":"http://img4.c.yinyuetai.com/others/mobile_front_page/190520/0/-M-dbef248addca01fbbce26c9ffc8cf047_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190520/0/-M-47379c263d99e729cf65d20182a1648a_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/FE14016AD4BA8903F4F0CD8469A062A8.mp4?sc=53ec8cbc1dded22a&br=784&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/FE14016AD4BA8903F4F0CD8469A062A8.mp4?sc=53ec8cbc1dded22a&br=784&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/C3D4016AD4D3255D15A1A7889E1902A4.mp4?sc=98f9061e67236b1f&br=1105&rd=Android","videoSize":88213806,"hdVideoSize":88213806,"uhdVideoSize":124396468,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6567"},{"type":"VIDEO","id":3383354,"title":"ECLIPSE","description":"GOT7","posterPic":"http://img3.c.yinyuetai.com/others/mobile_front_page/190520/0/-M-f1b0a2ab3910a5b39905f9925475f466_0x0.jpg","thumbnailPic":"http://img2.c.yinyuetai.com/video/mv/190520/0/64c8b95dd8aee4db1f92ab1dca039aa3_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/DD0E016AD4818999253E52B8C0C37314.mp4?sc=cc51db167d895afd&br=786&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/DD0E016AD4818999253E52B8C0C37314.mp4?sc=cc51db167d895afd&br=786&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/9E5E016AD48DD2C90346295E48527505.mp4?sc=118a4bc98ca206bf&br=1098&rd=Android","videoSize":22302529,"hdVideoSize":22302529,"uhdVideoSize":31123899,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6566"},{"type":"PROGRAM","subType":"VIDEO","id":3383122,"title":"爱豆企划社EP42 沙漠五子D5面试记 上","description":"爱豆企划社","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190517/0/-M-b51484e89b8480ab6806ab9ead59d2c3_0x0.jpg","thumbnailPic":"http://img4.c.yinyuetai.com/video/mv/190517/0/-M-46a5e8f7039e98ec626c5689123aff31_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/6E26016AC53894CDEA8D3383B54D1E6D.mp4?sc=6608b9fcdeb676f9&br=773&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/6E26016AC53894CDEA8D3383B54D1E6D.mp4?sc=6608b9fcdeb676f9&br=773&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/1965016AC53D49DC12A02BD06621AC04.mp4?sc=9ffaff7786100165&br=1099&rd=Android","videoSize":121626430,"hdVideoSize":121626430,"uhdVideoSize":172885408,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6565"},{"type":"VIDEO","id":3382803,"title":"顽固 LIVE版 MV","description":"五月天 & 梁家辉","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190517/0/-M-d802fcedec543e37c126947e024eb22d_0x0.jpg","thumbnailPic":"http://img0.c.yinyuetai.com/video/mv/190515/0/-M-5805fbe865bd9f4e78e521641127b718_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/9465016ABAC2FA238FE32A84B0C319F3.mp4?sc=1ec62a8ea85d95a1&br=780&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/9465016ABAC2FA238FE32A84B0C319F3.mp4?sc=1ec62a8ea85d95a1&br=780&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/81D5016ABAD40FAF686D175C05150DC4.mp4?sc=5c0657a84532b90a&br=1101&rd=Android","videoSize":27706735,"hdVideoSize":27706735,"uhdVideoSize":39137649,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6564"},{"type":"VIDEO","id":3382957,"title":"\u201c火箭少女101\u201d 孟美岐 使用手册","description":"STAR!调查团 & 孟美岐(火箭少女101) & 火箭少女101","posterPic":"http://img1.c.yinyuetai.com/others/mobile_front_page/190516/0/-M-dab6c1d89a942ba5eddc4c6d803f8d8c_0x0.jpg","thumbnailPic":"http://img3.c.yinyuetai.com/video/mv/190516/0/-M-6e846bb4350d360b06bab58e69e46e47_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/CC81016ABFC550EB2B48A257EA6592F8.mp4?sc=1dd7eb246fb5add3&br=778&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/CC81016ABFC550EB2B48A257EA6592F8.mp4?sc=1dd7eb246fb5add3&br=778&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/7DB0016AC00B8C35F61142EFAA9A3B0A.mp4?sc=877c8c34bc7169c6&br=1096&rd=Android","videoSize":48092325,"hdVideoSize":48092325,"uhdVideoSize":67766960,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6563"},{"type":"VIDEO","id":3382595,"title":"体会(Nature)","description":"鹿晗","posterPic":"http://img4.c.yinyuetai.com/others/mobile_front_page/190515/0/-M-a49f97410d4f2cbf0e3d78fe9dae10af_0x0.jpg","thumbnailPic":"http://img3.c.yinyuetai.com/video/mv/190514/0/-M-c0da6ff8e48c66cff004afe5e366ea09_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/AB77016AB4E200F9D8FA7F334B07CC14.mp4?sc=1402ac86a49e0ef5&br=777&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/AB77016AB4E200F9D8FA7F334B07CC14.mp4?sc=1402ac86a49e0ef5&br=777&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/7A13016AB4E638F88F4A0D23618F56F1.mp4?sc=896eaa7d474f0fe0&br=1095&rd=Android","videoSize":21978316,"hdVideoSize":21978316,"uhdVideoSize":30966074,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6562"},{"type":"PROGRAM","subType":"VIDEO","id":3382637,"title":"跟着威神V一起冲上云霄吧 - 威神V专访","description":"STAR!调查团 & 威神V","posterPic":"http://img0.c.yinyuetai.com/others/mobile_front_page/190514/0/-M-d5217dc8cd63033d8595548bbd367296_0x0.jpg","thumbnailPic":"http://img2.c.yinyuetai.com/video/mv/190514/0/-M-ab519f582cd48b78902c0585dd3ac4b8_240x135.jpg","url":"http://hc.yinyuetai.com/uploads/videos/common/746A016AB4D2ACC9A8A882D0EB0DD7D6.mp4?sc=df9a82e049a5112f&br=779&rd=Android","hdUrl":"http://hc.yinyuetai.com/uploads/videos/common/746A016AB4D2ACC9A8A882D0EB0DD7D6.mp4?sc=df9a82e049a5112f&br=779&rd=Android","uhdUrl":"http://hd.yinyuetai.com/uploads/videos/common/331F016AB5CB83280C479EAC4B48BCD9.mp4?sc=f4cd085daaee47e6&br=1099&rd=Android","videoSize":74924958,"hdVideoSize":74924958,"uhdVideoSize":105642177,"status":200,"clickUrl":"https://mapiv2.yinyuetai.com/statistics/click.json?id=6561"}]
//     * cost : 1487
//     */
//
//    var code: String? = null
//    var msg: String? = null
//    var now: Long = 0
//    var cost: Int = 0
//    var data: List<DataBean>? = null
//
//    class DataBean {
//        /**
//         * type : VIDEO
//         * id : 3395154
//         * title : 夜的尽头 官方版
//         * description : 鹿晗
//         * posterPic : http://img3.c.yinyuetai.com/others/mobile_front_page/190903/0/-M-3786ad47009baa9a37142b8e0ede531a_0x0.jpg
//         * thumbnailPic : http://img4.c.yinyuetai.com/video/mv/190903/0/-M-a81ae33b8e6a026706ff5ce51b0a6315_240x135.jpg
//         * url : http://hc.yinyuetai.com/uploads/videos/common/FF0E016CF4EEF23105AAF686F7CF7A87.mp4?sc=c7fca97c22eec76b&br=783&rd=Android
//         * hdUrl : http://hc.yinyuetai.com/uploads/videos/common/FF0E016CF4EEF23105AAF686F7CF7A87.mp4?sc=c7fca97c22eec76b&br=783&rd=Android
//         * uhdUrl : http://hd.yinyuetai.com/uploads/videos/common/9916016CF4F5ECD8529154BC758F24EC.mp4?sc=40bae07535e4be72&br=1109&rd=Android
//         * videoSize : 21910587
//         * hdVideoSize : 21910587
//         * uhdVideoSize : 31003345
//         * status : 200
//         * clickUrl : https://mapiv2.yinyuetai.com/statistics/click.json?id=6582
//         * subType : VIDEO
//         */
//
//        var type: String? = null
//        var id: Int = 0
//        var title: String? = null
//        var description: String? = null
//        var posterPic: String? = null
//        var thumbnailPic: String? = null
//        var url: String? = null
//        var hdUrl: String? = null
//        var uhdUrl: String? = null
//        var videoSize: Int = 0
//        var hdVideoSize: Int = 0
//        var uhdVideoSize: Int = 0
//        var status: Int = 0
//        var clickUrl: String? = null
//        var subType: String? = null
//    }
//}

//result 是返回的数据(string类型) 
//传一个泛型List<> 打开一下(传一个json srting,传一个type用TypenToken, )  固定写法...{}打开一下TypeToken<List<HomeItemBean>>{}.type报错 因为传的是一个匿名内部类 转一下object就好了

val list=gson.fromJson<List<HomeItemBeanSuccess>>(result,object TypeToken<List<HomeItemBean>>{}.gettype)println("获取数据成功:"+list.size)//查看结果size 返回条目*/

TypeToken的使用非常简单,如上面的代码,只要将需要获取类型的泛型类作为TypeToken的泛型参数构造一个匿名的子类,就可以通过getType()方法获取到我们使用的泛型类的泛型参数类型。

Gson包进行Json和Java对象之间的转化,普通类用原来的写法就好了,一个json返回的字符串类型,再将类传入就好了

对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持

对于上面的类Foo<T>,由于在运行期间无法得知T的具体类型,对这个类的对象进行序列化和反序列化都不能正常进行。Gson通过借助TypeToken类来解决这个问题。

https://www.cnblogs.com/reboost/p/9521711.html

感谢这位dalao解决了我在获取返回格式上的疑惑

Gson fromJson() 用法

1.纯数组JSON

字符串转换

[ {"name": "zhangsan","age": "10","phone": "11111","email": "11111@11.com"},

{"name": "lisi","age": "20","phone": "22222","email": "22222@22.com"},

...]

解析代码如下:

public class UserBean {

//变量名跟JSON数据字段名必须一致

private String name ;

private String age;

private String phone;

private String email;

...

}

//拿到本地JSON 并转成String

String strByJson = ConstructTestJsonStr();//此处函数内容省略

//Json的解析类对象

JsonParser parser = new JsonParser();

//将JSON的String 转成一个JsonArray对象

JsonArray jsonArray = parser.parse(strByJson).getAsJsonArray();

Gson gson = new Gson();

ArrayList<UserBean> userBeanList = new ArrayList<>();

//加强for循环遍历JsonArray

for (JsonElement user : jsonArray) {

//使用GSON,直接转成Bean对象

UserBean userBean = gson.fromJson(user, UserBean.class);

userBeanList.add(userBean);

}

2.有数据头的纯数组

数据转换

{"muser": [{"name": "zhangsan","age": "10","phone": "11111","email": "11111@11.com"},
           {"name": "lisi","age": "20","phone": "22222","email": "22222@22.com"},...]
}

//解析有数据头的纯数组

//拿到本地JSON 并转成String

String strByJson = ConstructTestJsonStr();//此处函数内容省略;

//先转JsonObject

JsonObject jsonObject = new JsonParser().parse(strByJson).getAsJsonObject();

//再转JsonArray 加上数据头

JsonArray jsonArray = jsonObject.getAsJsonArray("muser");

Gson gson = new Gson();

ArrayList<UserBean> userBeanList = new ArrayList<>();

//循环遍历

for (JsonElement user : jsonArray) {

//通过反射 得到UserBean.class

UserBean userBean = gson.fromJson(user, new TypeToken<UserBean>() {}.getType());

userBeanList.add(userBean);

}

3.有数据头的复杂

数据转换

{ "code": 200,"msg": "OK",
 "muser": [{"name": "zhangsan","age": "10","phone": "11111","email":"11111@11.com"},
           {"name": "lisi","age": "20","phone": "22222","email": "22222@22.com"},
           ...]
}

被解析对象不是纯数组数据,还有其它字段+数组(含头),方法如下:

根据 JSON 建立Bean,注意这里的 Bean 是返回所有字段,因为 GSON 能直接解析成 List ,所以 Bean 是下面这样的,同样把占地方的get/set省略:

public class ResultBean {
    //注意变量名与字段名必须一致
    private int code;
    private String msg;
    private List<UserBean> muser;
    public class UserBean{
        private String name ;
        private String age;
        private String phone;
        private String email;
        ...
    }
    ...
}
//有消息头 复杂数据 常规方式 方法如下
//拿到Json字符串
String strByJson =  ConstructTestJsonStr();//此处函数内容省略;
//GSON直接解析成对象
ResultBean resultBean = new Gson().fromJson(strByJson,ResultBean.class);
//对象中拿到集合
List<ResultBean.UserBean> userBeanList = resultBean.getMuser();
三句话搞定,由此看出GSON的强大

4.只解析复杂JSON中的

数组或数组中的某部分内容

有数据头 复杂数据 截取方式,如对第3例中JSON数据内容只想取“muser”数组中年龄(age)大于30岁的怎么办?

方法1:全部解析,再从 List 中取。(但假如有1万条数据?全部解析太麻烦),方法2:条件遍历!(以下代码示例):

//解析代码:

//拿到JSON字符串

String strByJson =  ConstructTestJsonStr();//此处函数内容省略;

List<UserBean> userBeanList = new ArrayList<>();

//拿到数组

JsonObject jsonObject = new JsonParser().parse(strByJson).getAsJsonObject();

JsonArray jsonArray = jsonObject.getAsJsonArray("muser");

//循环遍历数组

for (JsonElement user : jsonArray) {

UserBean userBean = new Gson().fromJson(user, new TypeToken<UserBean>() {

}.getType());

//根据条件过滤

if (Integer.parseInt(userBean.getAge()) > 30) {

userBeanList.add(userBean);

}

}

5.嵌套超复杂JSON

数据转换

三种方式:1,全部解析出来;2,要什么解析什么;3,JsonReader,第1/2招前述已解释,下面示例JsonReader(类似逐节点解释XML)

//通过JsonReader的方式去解析

private void parseComplexJArrayByReader() throws IOException {

String strByJson = JsonToStringUtil.getStringByJson(this, R.raw.juser_4);

JsonReader reader = new JsonReader(new StringReader(strByJson));

try {

reader.beginObject();

String tagName = reader.nextName();

if (tagName.equals("group")) {

//读group这个节点

readGroup(reader);

}

reader.endObject();

} finally {

reader.close();

}

}

//读group这个节点

private void readGroup(JsonReader reader) throws IOException {

reader.beginObject();

while (reader.hasNext()) {

String tagName = reader.nextName();

if (tagName.equals("user")) {

readUser(reader);

} else if (tagName.equals("info")) {

readInfo(reader);

}

}

reader.endObject();

}

//读用户基本消息 user节点

private void readUser(JsonReader reader) throws IOException {

reader.beginObject();

while (reader.hasNext()) {

String tag = reader.nextName();

if (tag.equals("name")) {

String name = reader.nextString();

nameText.setText(name);

} else if (tag.equals("age")) {

String age = reader.nextString();

ageText.setText(age);

}

...

else {

reader.skipValue();//忽略

}

}

reader.endObject();

}

//读用户其他消息 info节点

private void readInfo(JsonReader reader) throws IOException {

reader.beginObject();

while (reader.hasNext()) {

String tag = reader.nextName();

if (tag.equals("address")) {

String address = reader.nextString();

addressText.setText(address);

} else if (tag.equals("work")) {

String work = reader.nextString();

workText.setText(work);

}

...

else {

reader.skipValue();//忽略

}

}

reader.endObject();

}

6.简单数据+LIST+MAP

转换

public class Student {

public int id;

public String nickName;

public int age;

public ArrayList<String> books;

public HashMap<String, String> booksMap;

}

Student student = new Student();

student.id = 1;

student.nickName = "Jack";

student.age = 22;

student.email = "tr@qq.com";

ArrayList<String> books = new ArrayList<String>();

books.add("数学");

books.add("语文");

books.add("英语");

books.add("物理");

books.add("化学");

books.add("生物");

student.books = books;

HashMap<String, String> booksMap = new HashMap<String, String>();

booksMap.put("1", "数学");

booksMap.put("2", "语文");

booksMap.put("3", "英语");

booksMap.put("4", "物理");

booksMap.put("5", "化学");

booksMap.put("6", "生物");

student.booksMap = booksMap;

Gson gson = new Gson();

String result = gson.toJson(student);

Student studentG = gson.fromJson(result, Student.class);

Log.e("MainActivity", "id:" + studentG.id);

Log.e("MainActivity", "nickName:" + studentG.nickName);

Log.e("MainActivity", "age:" + studentG.age);

Log.e("MainActivity", "email:" + studentG.email);

Log.e("MainActivity", "books size:" + studentG.books.size());

Log.e("MainActivity", "booksMap size:" + studentG.booksMap.size());

打印输出

id:1

nickName: Jack

age:22

email:tr@qq.com

books size:6

booksMap size:6

7.把List或者Map等集合

的泛型换成自定义个class

泛型定义

public HashMap<String,Book> booksMap;

public class Book{

public int id;

public String name;

}

HashMap<String, Book> booksMap = gson.fromJson(result, new TypeToken<HashMap<String, Book>>() { }.getType());

Gson gson = new Gson();

HashMap<String, Book> booksMap = new HashMap<>();

booksMap.put("book1", new Book(1, "Java基础开发"));

booksMap.put("book2", new Book(2, "Java设计模式"));

booksMap.put("book3", new Book(3, "Java算法"));

String dataStr = gson.toJson(booksMap);

System.out.println("dataStr:" + dataStr);

HashMap<String, Book> booksMap2 = gson.fromJson(dataStr, new TypeToken<HashMap<String, Book>>() {

}.getType());

for (Map.Entry<String, Book> entry : booksMap2.entrySet()) {

System.out.println("key:"+entry.getKey() + "    value:" + entry.getValue().toString());

}

输出结果

dataStr:{"book2":{"id":2,"name":"Java设计模式"},"book1":{"id":1,"name":"Java基础开发"},"book3":{"id":3,"name":"Java算法"}}

key:book2    value:Book{id=2, name='Java设计模式'}

key:book1    value:Book{id=1, name='Java基础开发'}

key:book3    value:Book{id=3, name='Java算法'}

【okhttp与Gson】相关推荐

  1. 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务

    Kriptofolio应用程序系列-第5部分 (Kriptofolio app series - Part 5) These days almost every Android app connect ...

  2. 一款最流行的MVPArms MVP快速集成框架Retoift,Okhttp,RxCache,Gson,RxLifeCycle, Dagger2,Rxjava,ImageLoader

    今年的Android技术圈中MVP,Dagger2,Rxjava,Retrofit这些词汇非常火,随便打开一个技术论坛都充斥着大量的关于这些技术的文章,Github也充斥着各种以基于MVP+Retro ...

  3. Android 三方库okhttp、gson、glide的使用

    okhttp Okhttp是网络请求框架.OkHttp主要有Get请求.Post请求等功能. 使用前,需要添加依赖,在当前项目的build.gradle下加入以下代码: implementation ...

  4. 从零使用okhttp和gson解析聚合数据的新闻头条API

    这里只简单介绍一下我自己的demo,具体原理学习还是建议阅读一下官方的文档或者别人整理好的内容.我的demo可以作为实际跑通的参考,加深理解.可能写的本身也不完美. ·准备工作:注册聚合数据的账号→申 ...

  5. Okhttp、Volley和Gson的简单介绍和配合使用

    1.okhttp是一个高效的.快速的被谷歌认可的,支持HTTP/2和SPDY volley是一个方便网络任务库,可以负责请求.加载.缓存等同步问题,也可以处理图片.JSON.文本操作起来比较简单 gs ...

  6. 使用Android API最佳实践 Retrofit OKHttp GSON

    点击此处查看原文 写在前面 现在,Android应用程序中集成第三方API已十分流行.应用程序都有自己的网络操作和缓存处理机制,但是大部分比较脆弱,没有针对网络糟糕情况进行优化.感谢Square ln ...

  7. 使用okhttp请求聚合数据之星座运势

    本篇数据来源:聚合数据,一个简单的例子,通过调用API接口进行数据解析后,加载到我们的模拟器中.开始之前我们要清楚做这个demo的一个具体步骤,下面我将一步步进行编写. 首先准备工作: 导入okhtt ...

  8. 电子界卡组构建2019_2018–2019年构建现代Android应用程序的路线图

    电子界卡组构建2019 Kriptofolio应用程序系列-简介 (Kriptofolio app series - Introduction) Welcome to this series of b ...

  9. Android中使用retrofit2进行网络get请求查询数据和post请求上传文件

    场景 Retrofit2 Retrofit 是对 OkHttp 的封装,是主流的网络框架. 适用于Android 和 Java 的类型安全的HTTP客户端,由Square提供的. Retrofit是一 ...

最新文章

  1. _findnext()调试中断,发生访问错误,错误定位到ntdll.dll
  2. 探究java-JVM的五步(三步)类加载机制(包含类加载过程的一些代码书写,如类加载代码)
  3. 微软发布Azure Pipelines,开源项目可无限制使用CI/CD
  4. 使用layer的弹窗时,出现layer引入成功,触发成功,控制台无报错,但是页面无变化或者仅出现遮罩层的问题的解决思路
  5. 图解如何安装Oracle 10g的
  6. java在文件里搜字段_Java 如何找出两个文本文件中有相同字段的行
  7. 电容电感充放电时间计算
  8. 云服务器 ECS Linux 配置 vsftpd即FTP的搭建和使用
  9. Homography单应性矩阵原理
  10. yum安装软件报错:Invalid configuration value: failovermethod=priority...
  11. [CF364D]Ghd
  12. 解决Linux上rar压缩包文件无法解压缩的问题
  13. c语言中 三个点 是什么,这是什么…(三个点)在c中意味着什么
  14. Linux高级进程编程———在任意两个进程间传递文件描述符:使用 sendmsg 和 recvmsg 实现
  15. 专访阿里视频云叔度:一场技术人的自我修行
  16. loadrunner Web_类函数之web_reg_save_param_ex()
  17. 《计算机网络—自顶向下方法》 第二章套接字编程:2.UDPping服务器
  18. isis中央系统配置
  19. 有一个方格子,A点在左下角,B点在右上角,求A点到B点的最短路径数量
  20. Java编写0-100之间所有奇数和偶数的和

热门文章

  1. 运动耳机哪种佩戴方式好?佩戴稳固舒适的运动耳机
  2. 自动化测试培训、咨询与实施部署
  3. php 随机数 小数点,Php随机数生成
  4. Stratifyd报告解读:大数据之下的定制家居消费体验洞察
  5. 了解步进、有无刷和伺服电机的选择与应用
  6. 微信小程序笔记--显示五星好评(注意是显示不是点击评价!)
  7. 【数据结构入门实验C语言版】城市链表
  8. 关于计算机网络的一些基础实验以及实验心得
  9. 操作系统运行机制之原语
  10. Collage 相册随机展示相片特效