Url、xml、Json

URL类

URL:统一资源定位符
URL类相关方法:

  • String getFile():获取文件名称,此方法获得的名称为文件在服务器中的路径;
  • URLConnection openConnection():通过URL对象打开连接,返回一个连接对象
    URLConnection相关方法:
  • long getContentLengthLong():通过URLConnection对象获取下载文件的长度,单位是字节
  • int getContentLengthLong():通过URLConnection对象获取下载文件的长度,单位是字节
  • InputStream getInputStream():获取资源的输入流
使用API的传参格式

GET请求方式:协议://资源路径/资源名称?name=value&name2=value2&…

URL编码

保证传输不乱码,为保证中文不乱码,现将英文转换成 %+数字+字母的混合组成形式

URLEncode类

1.将文字转成URL编码的类

  • 字符串中非西欧的字符会被转化成由%开始加两位16进制数字组成,如:%E3%46%DE…
String urlString = URLEncoder.encode("你好","UTF-8");
System.out.println(urlString);
URLDecode

2.将URL编码转换成文字的类

String keyWord = URLDecoder.decode("%4e%d5%8d","UTF-8");
System.out.println(keyWord);
XML与JSON
XML

  1.xml是可扩展标记语言:对于标记的可扩展
  2.xml特征:

  • xml是一门独立的标记语言,与平台无关
  • xml具有自我描述性

  3.xml文件:.xml文件是保存XML数据的一种方式,XML数据也可以以其它方式存在,如:
(可以在内存中构建XML数据),不能将XML语言(并不是指文件)狭隘的理解成.xml文件,
XML数据通常是字符串。

  4.XML作用

  • 网络数据传输
  • 数据存储
  • 配置文件

  5.XML语法格式

  • 文档声明(首行)
    • <?xml version="1.0" encoding="utf-8"?>
  • 标记(元素/标签/节点)
    • xml的文档由一个一个的标记组成
    • 语法:
      • 开始标记:<标记名称>
      • 结束标记:</标记名称>
      • 标记名称命名规则:
        1.不能以数字或标点符号开始
        2.名称不能以"xml"(或XML,Xml,xml大小写切换的都不行)开始
        3.名称区分大小写
        4.名称不能包含空格,不能包含冒号(😃
      • 标记内容:开始标记和结束标记中是标记内容
    • 一个XML文档中,必须有且仅有一个 根标记 ,即最外层有一个且只有一个大标记扩住
    • 标记可以嵌套,但不允许交叉
    • 标记有子和父,兄弟,后代,祖先的称呼
    • 标记名称允许重复
    • 标记除了开始和结束,还有属性,标记属性的描述在开始标记中描述由
      属性名=“属性值” 组成,多个属性之间用空格隔开
  • 注释
    注释不能在文档声明前面,不能嵌套注释
    格式:<!-- 被注释文本 -->
Java解析XML

四种解析方式:SAX解析、DOM解析、JDOM解析、DOM4J解析

  • 1.SAX解析:是事件驱动机制,逐行读取文件解析,当读取到标签开始/结束/属性/内容
    触发事件,我们可以编写程序在这些事件发生是进行处理
    • 优点:分析可以立即开始,不用加载所有数据;逐行加载,节省内存,有助于读取大文件
      不必加载整个文档,解析到合适的数据时可以停止解析
    • 缺点:单向解析,无法定位文档层次,无法访问统一文档的不同部分的数据,
      只读解析,无法修改XML文件内容
  • 2.DOM解析:是与平台和语言无关的解析方式,表示XML文档的官方w3c标准,分析时需要加载
    整个文档和在内存中建立文档树模型,可以通过操作文档树来获取、修改、删除数据
    • 优点:文档加载到内存,允许对数据和结构作出更改;访问是双向的,可以在任何时候双
      向解析数据
    • 缺点:文件全部加载在内存,资源耗废大
  • 3.JDOM解析:优化的DOM解析
    • 优点:使用具体类而不是接口,简化了DOM的API;使用了大量Java集合,方便了程序员
    • 缺点:灵活性较差,性能不是很优越
  • 4.DOM4J解析:它是JDOM的一种智能分支,有许多超出基本XML文档的操作,
    如集成的XPath支持、XMLSchema支持以及用于大文档或流化文档的基于事件的处理
    • XPath解析xml文件
      • 路径表达式:
        1、 / :表示从根节点开始
        2、// :从发起查找的节点位置向后代节点查找
        3、. :查找当前节点
        4、… :查找父节点
        5、@ :选择属性
        属性使用方式:[@属性名=‘值’]、[@属性名>‘值’]、
        [@属性名!=‘值’]、[@属性名<‘值’]
JSON

JSON:javaScript Object Notation, js对象简谱,是一种轻量级的数据交换格式

  • JSON对象格式:一个对象用一个大括号表示:括号中描述对象的属性和函数。
    通过健值对来描述对象的属性与函数(可以理解为大括号中包含一个个的键值对)
    • 格式:
      • 一个对象用一个大括号表示
      • 属性与值之间用冒号(:)连接,多个属性之间用(,)隔开
      • 可嵌套属性中可以无限嵌套
GSON
  • 将对象转换为json字符串:
    • 引入jar包
    • 使用代码转换
      String json = new Gson().toJson(要转换的对象);
  • 将json字符串转换为对象:
    • 引入jar包
    • 使用代码转换:
      //参数1:要转换的json字符串   
      //参数2:对象类型.class      
      对象类型 对象名 = new Gson().fromJson(json字符串,对象类型.class);  
      
FastJson
  • 将对象转换为json字符串:
    • 引入jar包
    • 使用代码转换
      String json = JSON.toJSONString(要转换的对象);
  • 将json字符串转换为对象:
    • 引入jar包
    • 使用代码转换:
      //参数1:要转换的json字符串   
      //参数2:对象类型.class      
      对象类型 对象名 = JSON.parseObject(json字符串,对象类型.class); 
          或转换为一个集合
      List<对象类型> list = JSON.parseArray(json字符串,对象类型.class);
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值