xml与json

2023-05-04 19:24:31 浏览数 (1)

xml与json

简介

XML(EXtensible Markup Language)

可扩展标记语言

特点

XML与操作系统、编程语言的开发平台无关 实现不同系统之间的数据交换

作用

数据交互 配置应用程序和网站 Ajax基石

XML文档内容由一系列标签元素组成

XML标签

<元素名 属性名=“属性值”>元素内容</元素名>

属性值用双引号包裹 一个元素可以有多个属性 属性值中不能直接包含<、“、& 不建议使用的字符:‘、>

注意事项

所有XML元素都必须有结束标签 XML标签对大小写敏感 XML必须正确的嵌套 同级标签以缩进对齐 元素名称可以包含字母、数字或其他的字符 元素名称不能以数字或者标点符号开始 元素名称中不能含空格

举例

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>           声明部分
<clothesSize>
    <size range="height&lt;165">S</size>
    <size range="165&lt;height&lt;170">M</size>
    <size range="110&lt;height&lt;175">L</size>
    <size range="175&lt;height&lt;180">XL</size>
    <size range="180&lt;height&lt;185">XXL</size>
</clothesSize>

命名冲突问题

前缀
代码语言:javascript复制
<a:table>
</a:table>
<b:table>
</b:table>
命名空间
代码语言:javascript复制
<a:table xmlns="http://www.baidu.com">
</a:table>
xmlns-->xmlnamespace
代码语言:javascript复制
特殊字符处理
采用<![CDATA[ ]]>特殊标签,将包含特殊字符的字符串封装起来。
例如:
<TitleName><![CDATA["姓名"]]></TitleName>
​
其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列为:
&  &amp;
<  &lt;
>  &gt;
"  &quot;
'  &apos;
​
注意

知道dom4j解析xml就行了,现在都不用xml去传递消息了

xml文件能看得懂就行了

json(重点中的重点)

特点

JSON(JavaScript Object Notation) 轻量级的文本数据交换格式 具有自我描述性 比XML传输速度快

语法规则
两种数据结构:对象和数组

大括号内为对象 中括号内为数组

对象中的数据由名称/值对构成

值的类型可为字符串、数字、布尔值、null、数组、对象 数据之间由逗号分隔

数组中的数据类型同名称/值对中值的类型
FastJson

现在接口传输数据一般都是用的json了

代码语言:javascript复制
[
    {
        "id": "user_list",
        "key": "id",
        "tableName": "用户列表",
        "className": "cn.dmego.domain.User",
        "column": [
            {
                "key": "rowIndex",
                "header": "序号",
                "width": "50",
                "allowSort": "false"
            },
            {
                "key": "id",
                "header": "id",
                "hidden": "true"
            },
            {
                "key": "name",
                "header": "姓名",
                "width": "100",
                "allowSort": "true"
            }
        ]
    },
    {
        "id": "role_list",
        "key": "id",
        "tableName": "角色列表",
        "className": "cn.dmego.domain.Role",
        "column": [
            {
                "key": "rowIndex",
                "header": "序号",
                "width": "50",
                "allowSort": "false"
            },
            {
                "key": "id",
                "header": "id",
                "hidden": "true"
            },
            {
                "key": "name",
                "header": "名称",
                "width": "100",
                "allowSort": "true"
            }
        ]
    }
]

由阿里开源的JSON解析框架

代码语言:javascript复制
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。

0 人点赞