一、数据
数据=含义+值
30?
年龄:30
成绩:30
天数:30
一、动手
1. 写句歌词
你以为你了解我的全部,那是因为你只关心我的局部
2. 写一个身份证号
500235198811051857
身份证在线查询:身份证在线查询
身份证含义:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:
- 六位数字地址码,
- 八位数字出生日期码,
- 三位数字顺序码
- 一位数字校验码。
顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
- 按照位数确定位置
- 按照顺序确定含义
- 含义是预先定义,没出现再数据中,无法自解释
3. 写http请求行
GET http://www.kuaidi100.com/query?type=shentong&postid=3350862539854 HTTP/1.1
- 按分割符确定位置
- 按照顺序确定含义
- 含义是预先定义,没出现再数据中,无法自解释
4. 写http请求头
Host: www.kuaidi100.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Upgrade-Insecure-Requests: 1
- 数据中包含:含义和值
- 一个数据结构:含义(host)+赋值符(:)+值(www.xxx.com)+分割符(\r\n)
- 含义包含再数据中,不需要预定义,能自解释
5. 写班级学生信息(xml)
<!--注释1:申明是xml报文,指名版本和编码-->
<?xml version="1.0" encoding="UTF-8" ?>
<class>
<name>提高班</name>
<no>1801</no>
<students>
<student>
<name>宋海娇</name>
<sex>女</sex>
</student>
<student>
<name>毛伟伟</name>
<sex>男</sex>
</student>
</students>
</class>
6. 写班级学生信息(json)
{
"class": {
"name": "提高班",
"no": "1801",
"students": {
"student": [
{
"name": "宋海娇",
"sex": "女"
},
{
"name": "毛伟伟",
"sex": "男"
}
]
}
}
}
7. 将json和xml转成接口规范
节点 | 父节点 | 约束 | 类型 | 长度 | 描述 |
---|---|---|---|---|---|
class | / | ||||
name | class | 1 | String | 20 | 班级名称 |
no | class | 1 | String | 10 | 班级编号 |
students | class | 1 | 学生列表 | ||
student | students | + | 学生 | ||
name | student | 1 | String | 20 | 学生姓名 |
sex | student | 1 | String | 1 | 性别 |
8. 接口规范、xml、json互转
- 看着xml,写json和接口规范
- 看着json,写xml和接口规范
- 看着接口规范,写xml和json
9. 在线xml和json格式化和互转
-
将xml或json格式化
image.png
![](https://img.haomeiwen.com/i9106490/1f80d7900b7b5880.png)
-
将xml和json互转
image.png
以http报文格式为例
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 22 Jan 2018 12:11:32 GMT
Content-Type: text/html;charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Cache-Control: no-cache
Content-Length: 1286
{
"message": "ok",
"nu": "3350862539854",
"ischeck": "1",
"condition": "F00",
"com": "shentong",
"status": "200",
"state": "3",
"data": [{
"time": "2018-01-16 12:46:12",
"ftime": "2018-01-16 12:46:12",
"context": "上海市 本人-已签收,感谢您选择申通快递,期待再次为您服务。",
"location": null
},{
"time": "2018-01-15 20:08:52",
"ftime": "2018-01-15 20:08:52",
"context": "金华市 浙江义乌公司(4009266666)-菜鸟面单2-已收件",
"location": null
}]
}
第2章 xml
1. 样例
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
2. xml和html的异同
1. XML 被设计用来传输和存储数据,其焦点是数据的内容。
2. HTML 被设计用来显示数据,其焦点是数据的外观。
3. 树形结构
[图片上传失败...(image-99d180-1516626095977)]
4. 语法
- xml声明
- 根元素
- 所有元素必须关闭
- 注释
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<!-- This is a comment -->
<body>Don't forget me this weekend!</body>
</note>
5. 元素
- 属性
- 文本
- 子元素
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
6. 验证
- 添加验证
- DTD
- Schema
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
7. 查看
- 浏览器
- notepad
- myeclipse
第3章 json
1. 样例
{
"sites": [
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
2. json和xml的异同
1. 没有结束标签
2. 更短
3. 读写的速度更快
4. 能够使用内建的 JavaScript eval() 方法进行解析
5. 使用数组
6. 不使用保留字
3. json语法
1. 数据在名称/值对中
2. 数据由逗号分隔
3. 大括号保存对象
4. 中括号保存数组
{
"sites": [
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
第4章 xml和json互转
总结
编号 | 类型 | 格式 | 样例 |
---|---|---|---|
01 | 数据含义一体 | 无格式 | 你好,请问你爱装逼吗? |
02 | 有规律数据 | 位置决定含义 | 1、位置:身份证号码500234198811051876,2:、分隔符:HTTP/1.1 200 OK |
03 | 键值对 | 含义+赋值符+数据+分隔符 | 1、name=张三&age=23;2、"status": "200", |
04 | xml | 含义+数据+层级 | |
05 | json | 含义+数据+层级 |
网友评论