美文网首页我爱编程
数据格式_xml和json

数据格式_xml和json

作者: 果芽软件 | 来源:发表于2018-01-22 21:02 被阅读145次

一、数据

数据=含义+值
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互转

  1. 看着xml,写json和接口规范
  2. 看着json,写xml和接口规范
  3. 看着接口规范,写xml和json

9. 在线xml和json格式化和互转

  1. 将xml或json格式化


    image.png
image.png
  1. 将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. 语法

  1. xml声明
  2. 根元素
  3. 所有元素必须关闭
  4. 注释
<?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. 元素

  1. 属性
  2. 文本
  3. 子元素
<?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. 验证

  1. 添加验证
  2. DTD
  3. 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. 查看

  1. 浏览器
  2. notepad
  3. 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互转

在线xml和json互转工具

总结

编号 类型 格式 样例
01 数据含义一体 无格式 你好,请问你爱装逼吗?
02 有规律数据 位置决定含义 1、位置:身份证号码500234198811051876,2:、分隔符:HTTP/1.1 200 OK
03 键值对 含义+赋值符+数据+分隔符 1、name=张三&age=23;2、"status": "200",
04 xml 含义+数据+层级
05 json 含义+数据+层级

相关文章

  • 数据格式

    XML和JSON数据格式 json数据格式 {"":"", "":"", "":""} json xml对比 1....

  • H5-12.29Ajax与jquery、xml、json

    四、Ajax的XML 1.请求的数据格式-XML 2.响应的数据格式-XML 五、json JSON - java...

  • ajax中的xml和json

    ajax中的xml 1.请求的数据格式-XML 2.响应的数据格式-XML ajax中的json 一、json 1...

  • XML & Json

    作者:烨竹 xml和json简介 XML与json只是两种数据格式。XML:可拓展标记语言 可拓展(自定义);JS...

  • XML和JSON类型数据

    xml和 json是经常被我们用来解析的数据类型,在这里记录一下xml和 json数据格式 XML (可扩展标记语...

  • 数据格式_xml和json

    一、数据 数据=含义+值30?年龄:30成绩:30天数:30 一、动手 1. 写句歌词 你以为你了解我的全部,那是...

  • xpath

    1、xml学习 xml:是一种数据格式,和json的位置一样,前后端交互 xml和html的区别: 1>:x...

  • 比较一下XML, JSON和YAML

    比较一下XML, JSON和YAML 大家好,这一期呢,我们来比较一下XML, JSON和YAML这三种数据格式文...

  • JSON 和 XML

    JSON 和 XML 一、JSON 1.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互服务器返回...

  • PHP中JSON的使用

    学习目的 掌握并且能够使用json数据格式进行通信交互 理解json格式和serialize序列化、xml、数组的...

网友评论

    本文标题:数据格式_xml和json

    本文链接:https://www.haomeiwen.com/subject/wpnlaxtx.html