URL,XML,JSON
URL
URL简介
统一资源定位符(URL,英语Uniform Resource Locator的缩写),它的英文简称叫做URL。也被称为网页地址,是因特网上标准的资源的地址。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的,现在它已经被万维网联盟编制为因特网标准RFC1738了。
URL格式
URL以字符串的抽象形式来描述一个资源在万维网上的地址。一个URL唯一标识一个Web资源,通过与之对应的URL即可获得该资源。UR格式一般如下:
协议类型://服务器地址[:端口号]/路径/文件名[参数=值]
上述结构中[]部分是可选的。如果端口号与相关协议默认值(80)不同,则需包含端口号。其中协议类型包括HTTP,MAILTO,FILE,FTP等。利用HTTP协议访问万维网上的一个资源的URL形如:http://website.com/goods/search.phpterm-apple
其中website.com服务器,search.php是服务器端的一个脚本文件,之后紧跟脚本执行所需要的参数term,而apple为用户输入的对应term的参数值。
URL特点
1、URL是可移植的:因为URL要统一地命名因特网上的所有资源,而不同的协议在传输数据时都会使用不同的机制,因此URL可以通过任意因特网协议安全地传输是很重要的。
2、URL是可读的:因此,即使不可见、不可打印的字符能够穿越邮件程序,从而成为可移植的,也不能在URL中使用。
3、URL是完整的:有时候人们会希望URL中包含除通用的安全字母表之外的二进制数据或字符。因此需要一种转移机制,能够将不安全的字符编码为安全字符,再进行传输。
XML
XML简介
XML(Extensible Markup Language)扩展标记语言 ,是一种常用的标记语言,用于标记电子文件使其具有结构性,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用 DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
#XML声明
<?xml version="1.0" encoding="UTF-8"?>
#文档类型定义DTD
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
#文档元素
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Hello,word!</body>
</note>
语法格式
命名基本规则:
- 元素名称不能以数字或特殊字符开头
- 可以包含字母,数字,下划线等
- 不能以字符串“XML”作为开头
- 不能包含空格
- 尽量不要包含特殊字符
- 区分大小写
1.一个XML文档,必须有且仅允许有一个根标记
2.标记可以嵌套,但是不允许交叉
3.标记的层级称呼(子,父,兄弟,后代,祖先标记)
4.标记名称允许重复
5.标记除了开始和结束外,中间还可以包含属性(同一个标签的属性不能重复)
6.注释不能写在文档申明前,不能嵌套注释
CDATA(其中的文本不会被解析)
Java解析XML
1.SAX(事件驱动,逐行加载,单向解析,只记忆局部)
2.DOM(加载整个文档,建立文档树,双向解析,记忆全部文档)
3.JDOM(简化了DOM,大量使用集合类,不灵活)
4.DOM4J(JDOM智能分支)
JSON
简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
示例:
{
name:"中国",
province:[
{
name:"黑龙江",
citys:{
city:["哈尔滨","大庆"]
}
},
{
name:"广东",
citys:{
city:["广州","深圳","珠海"]
}
},
{
name:"台湾",
citys:{
city:["台北","高雄"]
}
},
{
name:"新疆",
citys:{
city:["乌鲁木齐"]
}
}
]
}
格式
1.键与值之间用冒号连接,键值之间逗号隔开
2.键值对应的键,引号引住
3.键值对应的值,可是js中的任意类型的数据
4.数组格式在json中可与对象互相嵌套
Java与Json
Gson
}
}
]
}
### 格式
1.键与值之间用冒号连接,键值之间逗号隔开
2.键值对应的键,引号引住
3.键值对应的值,可是js中的任意类型的数据
4.数组格式在json中可与对象互相嵌套
### Java与Json
#### Gson
#### FastJson