真不好意思,最近在搞Java项目所以更新慢了 第一课:图片采集教程地址:https://www.eruyi.cn/thread-4344-1-1.html
有些兄弟呢,催我更新!首先呢感谢你的支持!但现实不允许呀!
开始今天的教程吧!——json解析
什么是json:(拿笔圈上,涨知识)
JSON是一种取代XML的数据结构,和xml相比,
它更小巧但描述能力却不差,
由于它的小巧所以网络传输数据将减少更多流量从而加快速度
简单来说就是:网页中传输数据的数据结构(个人理解!具体自己可以查百度!)
注意:JSON就是一串字符串 只不过元素会使用特定的符号标注。
json解析是什么:(拿笔圈上,涨知识)
前后台传输的时候其实是字符串
解析是把字符串重新变成json类型的对象
这样就能对里面的各种类型的属性或对象作操作了。
---------------------------------分割线-----------------------------
开始今天的教程!
今天的案例呢是个调用ip查询接口!
接口:http://api.map.baidu.com/location/ip?ip=&ak=sfIKa7avsvzNM8VWm89rnDZ4gsh78TOg&coor=bd09ll
post提交、参数1:ip(查询的ip地址)
参数2:ak(因为这个接口是我申请的百度地图接口!这个ak是个秘钥要自己申请)
参数三:coor(这个不要管,跟着我填就是)
进入我们的代码界面!gogogo
ui界面:
这里用了四个编辑框,一个是用来填查询的ip地址,一个是用来接收查询到的地址数据
还有两个是用来接收x和y 就是纬度(地图显示要用),下面有个腾讯内核浏览器,用来显示地图!
json操作这个类库一定要!
代码界面: ---------------------------------------
这里是查询按钮被单击,开始发送请求! 如果输入查询ip的编辑框里面内容为空,则弹出提示! 就是非空判断! 这里这个多线程.取网页源码可以改成多线程.发送网络数据! 看看获取到的源码
这源码跟蔡虚昆似的,看不懂是吧!是吧所以,要解析,这里我们就用萌新助手 解析后:有对字的话,就说明是个对象,有文字的话就说明是对象里面的成员文本 打个比喻,有对字的,就是代表洗脚城,有文字的就代表是洗脚城里面的工作人员,两个是有关系的!
下面这一步很重要:
先把这些变量创建好,至于为啥有些事对象型的 等会解释 先来看代码!
咋们一行一行来! 源码=UCS2解码(源码) 这个是解码! 解析=JSON操作1.解析(源码) 这个是解析源码,把获取到的源码转换成json格式 接下来就是获取数据!我们就来拿这个做列子
因为我们要取的是文本address,但是这个文本是对象content下面的,所以我们先要去获取对象,再去获取文本 就比如你要去洗脚城去洗个脚(放松放松啥的 ),你又想找你认识的技师给你洗! 所以你要找到她所在的洗脚城,这个洗脚城就是对象,那个技师就相当于文本,但是有的文本,没有对象,那你就可以直接获取文本,就像有些技师她是上门的! 文本=JSON操作1.取对象(解析,"content")
这个对象的上级对象是解析出来的源码,所以我们第一个参数就填解析出来的源码,因为我这里把解析出来的源码赋值给了变量“ 解析” ,所以我直接填解析,第二个参数就是你要取得对象名(就是那个粗体的英文字母) 这就是获取对象,因为取到的对象是对象型所以你就要,把赋值的变量定义成对象型!(变量名可以随便取),你可以理解成你要去的洗脚城 地址=JSON操作1.取文本值(文本,"address") 参数一就填所对应的的对象,参数二就填成员名(就是那个粗体的英文字母)
这个就是获取文本,你可以理解成,参数一就是洗脚城的地址,参数二就是技师号码! 然后通过对应的技师号,找到技师的名字! 取其他的数据就按照上面的原理! 这里注意下!看图 对象point的对象是content,所以我们获取对象point时 文本1=JSON操作1.取对象(文本,"point") 这个参数一要填对象content(我这里刚才赋值了,我就直接可以用"文本") 就比如,是总店开分店的道理! 好了,今天到这就结束了! 案列源码我会打包! 老规矩,想看什么教程,评论在下面! 关于上次有人说影视采集加播放,这个呢我打算录视频,但是又太长,我有打算在QQ群直播!就是共屏咯! |